Skip to content

Commit dc2a053

Browse files
authored
Merge pull request #394 from sh-andriy/fix/xlsx-file-render-error
fix(mfr): fix not all xlsx files render error
2 parents d4da5a8 + 92a05d9 commit dc2a053

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

mfr/extensions/tabular/utilities.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,14 +143,21 @@ def parse_xls(wb, sheets):
143143
def parse_xlsx(wb, sheets):
144144
for name in wb.sheetnames:
145145
ws = wb[name]
146-
verify_size(ws.max_row, ws.max_column, '.xlsx')
147-
header_row = next(ws.iter_rows(max_row=1, values_only=True))
146+
max_row = ws.max_row or 0
147+
max_col = ws.max_column or 0
148+
verify_size(max_row, max_col, '.xlsx')
149+
150+
if max_row == 0 or max_col == 0:
151+
sheets[name] = ([], [])
152+
continue
153+
154+
header_row = next(ws.iter_rows(max_row=1, values_only=True), [])
148155
fields = fix_headers(header_row)
149156
rows = [
150157
dict(zip(fields, row))
151158
for row in ws.iter_rows(min_row=2,
152-
max_row=ws.max_row,
153-
max_col=ws.max_column,
159+
max_row=max_row,
160+
max_col=max_col,
154161
values_only=True)
155162
]
156163
sheets[name] = (header_population(fields), rows)

0 commit comments

Comments
 (0)