当我将工作表属性filterMode
用于工作表时,将其设置为True
时,过滤器不会出现在第一行中,也就是说,我希望右边有一些小按钮在第一行的每一列中,打开包含该列中使用的值的列表。
我确实注意到Excel窗口左下角的文本Filter Mode
。
这是我测试过的代码:
import openpyxl as xl
s_xl_file = 'c:/temp/test-openpyxl.xlsx'
tu_data = (
('Col A', 'Col B'),
(25, 30),
(100, 250)
)
wb = xl.Workbook()
ws = wb.active
ws.title = 'Test'
for tu_row in tu_data:
ws.append(tu_row)
ws_props = ws.sheet_properties
ws_props.filterMode = True
wb.save(s_xl_file)
我在这里做错什么吗,还是过滤器模式引用了Excel Data
功能区中的过滤器功能以外的其他东西?
版本数据:
答案 0 :(得分:0)
我在这里做错了什么,还是过滤模式指的不是 Excel 数据功能区中的过滤功能?
我犯了同样的错误。 filterMode
指的是别的东西。具体来说,它是一个 flag,指示工作表是否启用了一个或多个自动过滤器或高级过滤器。将其设置为 True 不会为您提供过滤功能。
要为整个工作表启用小过滤按钮,请添加:
ws.auto_filter.ref = ws.dimensions
ws.auto_filter.add_filter_column(0, [])
你可以摆脱这个,因为它什么也没有:
ws_props = ws.sheet_properties
ws_props.filterMode = True
查看文档:{{3}}