|
10 | 10 | STYLE_FILENAME = "xl/styles.xml" |
11 | 11 | SHARED_STRING = "xl/sharedStrings.xml" |
12 | 12 | WORK_BOOK = "xl/workbook.xml" |
13 | | -SHEET_MATCHER = "xl/worksheets/(work)?sheet([0-9]+)?.xml" |
14 | | -SHEET_INDEX_MATCHER = "xl/worksheets/(work)?sheet(([0-9]+)?).xml" |
15 | | -XLSX_ROW_MATCH = re.compile(rb".*?(<row.*?<\/.*?row>).*?", re.MULTILINE) |
16 | | -NUMBER_FMT_MATCHER = re.compile( |
17 | | - rb".*?(<numFmts.*?<\/.*?numFmts>).*?", re.MULTILINE |
18 | | -) |
19 | | -XFS_FMT_MATCHER = re.compile( |
20 | | - rb".*?(<cellXfs.*?<\/.*?cellXfs>).*?", re.MULTILINE |
21 | | -) |
22 | | -SHEET_FMT_MATCHER = re.compile(rb".*?(<sheet .*?\/>).*?", re.MULTILINE) |
23 | | -DATE_1904_MATCHER = re.compile(rb".*?(<workbookPr.*?\/>).*?", re.MULTILINE) |
| 13 | +SHEET_MATCHER = re.compile(r"xl/worksheets/(?:work)?sheet([0-9]+)?.xml") |
| 14 | +XLSX_ROW_MATCH = re.compile(rb"<row\b[^>]*>.*?</row>", re.DOTALL) |
| 15 | +NUMBER_FMT_MATCHER = re.compile(rb"<numFmts\b[^>]*>.*?</numFmts>", re.DOTALL) |
| 16 | +XFS_FMT_MATCHER = re.compile(rb"<cellXfs\b[^>]*>.*?</cellXfs>", re.DOTALL) |
| 17 | +SHEET_FMT_MATCHER = re.compile(rb"<sheet\b.*?/>", re.DOTALL) |
| 18 | +DATE_1904_MATCHER = re.compile(rb"<workbookPr\b.*?/>", re.DOTALL) |
24 | 19 | # "xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" |
25 | 20 | # But it not used for now |
26 | 21 | X14AC_NAMESPACE = b'xmlns:x14ac="http://not.used.com/"' |
@@ -159,14 +154,15 @@ def find_sheets(file_list): |
159 | 154 | return [ |
160 | 155 | sheet_file |
161 | 156 | for sheet_file in file_list |
162 | | - if re.match(SHEET_MATCHER, sheet_file) |
| 157 | + if SHEET_MATCHER.match(sheet_file) |
163 | 158 | ] |
164 | 159 |
|
165 | 160 |
|
166 | 161 | def get_sheet_index(file_name): |
167 | | - if re.match(SHEET_MATCHER, file_name): |
168 | | - result = re.search(SHEET_INDEX_MATCHER, file_name) |
169 | | - index = int(result.group(3)) if result.group(3) else 1 |
| 162 | + sheet_match = SHEET_MATCHER.match(file_name) |
| 163 | + |
| 164 | + if sheet_match: |
| 165 | + index = int(sheet_match.group(1)) if sheet_match.group(1) else 1 |
170 | 166 | return index - 1 |
171 | 167 | else: |
172 | 168 | raise Exception("Invalid sheet file name") |
|
0 commit comments