openpyxl问题:autofilter导致名称中带圆括号的表上的错误
我正在使用openpyxl为一组数据构build一个Excel工作簿。 它包含我正在使用的模型中包含的每组数据的许多不同的工作表。 我的代码的一部分激活每个工作表上的Excel自动filter的数据填充范围的数据。 这是用以下types的代码完成的:
ws = book.get_sheet_by_name(sheet_name) ws.autofilter.ref = 'A1:E1'
迄今为止,这一切都很好。 我想要的只是打开列标题上的自动筛选button,没有实际的筛选器操作。 但是,我开始有这个问题。 使用autofilter.ref
代码打开自动autofilter.ref
会导致一个错误,只要表名称中有括号或大括号。 这个错误是因为当我打开Excel文件时,Excel告诉我它“发现了一些内容的问题”,并提供修复该文件,然后修复该文件使得一切工作正如我预期的那样,但它需要先修复。 维修日志说下面的简短说明:
“删除logging:命名范围从/xl/workbook.xml部分(Workbook)”
如果自动filter未打开,或者如果圆括号从工作表名称中删除,则一切工作正常。
为什么会发生这种行为? 是有原因还是只是一个错误? 作为参考,在这种情况下,xlsxwriter的行为通常是正常的,在名称中使用圆括号的工作表正确应用自动筛选,使用以下代码完成:
ws = book.get_worksheet_by_name(sheet_name) ws.autofilter(0, 0, 0, 4)