Skip to content

Commit da61d62

Browse files
committed
Merge branch 'devel'
2 parents 261ff68 + 8ab164d commit da61d62

4 files changed

Lines changed: 33 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#### 3.0.5
2+
* Fixes github issue #81 - read excel as template headers height
3+
14
#### 3.0.4
25
* Fixed style "shifts" when using `read_style=True` and `header=None` with `StyleFrame.read_excel`. Fixes github issue #80
36

styleframe/style_frame.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,11 @@ def _read_style():
190190
raise TypeError("'sheet_name' must be a string or int, got {} instead".format(type(sheet_name)))
191191
theme_colors = _get_scheme_colors_from_excel(wb)
192192

193+
# Set the headers row height
194+
if header_arg is not None:
195+
headers_row_idx = header_arg + 1
196+
sf._rows_height[headers_row_idx] = sheet.row_dimensions[headers_row_idx].height
197+
193198
get_style_object = partial(_get_style_object, sheet=sheet, theme_colors=theme_colors)
194199
for col_index, col_name in enumerate(sf.columns):
195200
col_index_in_excel = col_index + 1

styleframe/tests/style_frame_tests.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,30 @@ def test_read_excel_with_style_header_arg_none(self):
427427
for row_in_excel, row_in_self in zip(rows_in_excel[1:], rows_in_self)
428428
for excel_cell, self_cell in zip(row_in_excel[1:], row_in_self[1:])))
429429

430+
def test_read_excel_rows_height(self):
431+
self.sf.set_row_height(rows=1, height=25)
432+
self.sf.set_row_height(rows=2, height=15)
433+
self.export_and_get_default_sheet(save=True)
434+
sf_from_excel = StyleFrame.read_excel(TEST_FILENAME, read_style=True)
435+
436+
# Assert the number of rows with height is the length of our data plus 1 for headers row
437+
self.assertEqual(len(sf_from_excel._rows_height), len(self.sf) + 1)
438+
self.assertEqual(sf_from_excel._rows_height[1], 25)
439+
self.assertEqual(sf_from_excel._rows_height[2], 15)
440+
self.assertEqual(sf_from_excel._rows_height[3], None)
441+
self.assertEqual(sf_from_excel._rows_height[4], None)
442+
443+
def test_read_excel_columns_width(self):
444+
self.sf.set_column_width(columns='a', width=25)
445+
self.sf.set_column_width(columns='b', width=15)
446+
self.export_and_get_default_sheet(save=True)
447+
sf_from_excel = StyleFrame.read_excel(TEST_FILENAME, read_style=True)
448+
449+
# Assert the number of rows with height is the length of our data plus 1 for headers row
450+
self.assertEqual(len(sf_from_excel._columns_width), len(self.sf.columns))
451+
self.assertEqual(sf_from_excel._columns_width['a'], 25)
452+
self.assertEqual(sf_from_excel._columns_width['b'], 15)
453+
430454
def test_read_excel_template_equal_boundaries(self):
431455
template_sf = StyleFrame(
432456
obj={

styleframe/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def get_all_versions():
1717
return _versions_
1818

1919

20-
_version_ = '3.0.4'
20+
_version_ = '3.0.5'
2121
_python_version_ = get_python_version()
2222
_pandas_version_ = get_pandas_version()
2323
_openpyxl_version_ = get_openpyxl_version()

0 commit comments

Comments
 (0)