我有一个 Excel 文件,其中工作表句柄变量名称是
wks_yella
。我正在尝试使用 auto_filter.add_filter_column
和 openpyxl.worksheet.filters.CustomFilterValueDescriptor
应用自动过滤器。
使用 auto_filter
的过滤器正在生效,但 openpyxl.worksheet.filters.CustomFilterValueDescriptor
未生效。
这是代码块
# Apply filters on both Column B (2nd column) and Column E (5th column)
wks_yella.auto_filter.ref = f'A1:T{wks_yella.max_row}' # Update the range for all columns
wks_yella.auto_filter.add_filter_column(1, vals=saka_filter, blank=True)
wks_yella.auto_filter.add_filter_column(4, vals=gothram_filter, blank=True)
regex_pattern = r'.*199[3-6].*'
custom_filter = openpyxl.worksheet.filters.CustomFilterValueDescriptor(pattern=regex_pattern)
wks_yella.column_dimensions['G'].filter = custom_filter
我可以寻求帮助来解决这个问题吗?
ChatGPT 和 Stackoverflow.com 都无法回答我提出的查询。所以我想到了一个解决方法。
我是目标 Excel 文件,当单元格值包含 1993、1994、1995 和 1996 等值时,我使用
Condtional Formatting
选项突出显示 column G
。
在Contional Formatting
下,我在=>Use a formula to determine which cells to highlight
文本框中选择了Format Values where this formula is true
,放置了这个公式=OR(ISNUMBER(SEARCH("1993", G1)), ISNUMBER(SEARCH("1994", G1)), ISNUMBER(SEARCH("1995", G1)), ISNUMBER(SEARCH("1996", G1)))
,然后设置单元格格式填充和文本字体。
并且突出显示了要求。然后我只是选择了按字体过滤的。
我想使用
python
来实现上述目标,但人们更有兴趣投反对票,因为他们无法理解 python 词干。
希望这个解决方法对那些陷入困境的人来说很方便。