Openpyxl:如何向所有列添加过滤器
Openpyxl: How to add filters to all columns
我可以打开一个工作表,如何在不打开任何过滤器的情况下将小过滤器菜单添加到所有列?
我可以用
在 xlsxwriter 中完成
worksheet.autofilter(0, 0, 0, num_of_col)
如何在 openpyxl 中执行?
您需要做的就是将 worksheet.auto_filter.ref
设置为整个工作表单元格范围。
import openpyxl
from openpyxl.utils import get_column_letter
workbook = openpyxl.load_workbook('Data/Test01.xlsx')
worksheet = workbook['Sheet1']
FullRange = "A1:" + get_column_letter(worksheet.max_column) \
+ str(worksheet.max_row)
worksheet.auto_filter.ref = FullRange
workbook.save('Data/Test03.xlsx')
您可以简单地阅读 ws.dimensions
,它会 return 一个字符串值,您的范围是“A1:XX”。我用它来对我的整个 excel 电子表格应用过滤器。
import openpyxl as px
wb= px.load_workbook('Data/Test01.xlsx')
ws = wb.active
ws.auto_filter.ref = ws.dimensions
wb.save('Data/Test03.xlsx')
我可以打开一个工作表,如何在不打开任何过滤器的情况下将小过滤器菜单添加到所有列?
我可以用
在 xlsxwriter 中完成worksheet.autofilter(0, 0, 0, num_of_col)
如何在 openpyxl 中执行?
您需要做的就是将 worksheet.auto_filter.ref
设置为整个工作表单元格范围。
import openpyxl
from openpyxl.utils import get_column_letter
workbook = openpyxl.load_workbook('Data/Test01.xlsx')
worksheet = workbook['Sheet1']
FullRange = "A1:" + get_column_letter(worksheet.max_column) \
+ str(worksheet.max_row)
worksheet.auto_filter.ref = FullRange
workbook.save('Data/Test03.xlsx')
您可以简单地阅读 ws.dimensions
,它会 return 一个字符串值,您的范围是“A1:XX”。我用它来对我的整个 excel 电子表格应用过滤器。
import openpyxl as px
wb= px.load_workbook('Data/Test01.xlsx')
ws = wb.active
ws.auto_filter.ref = ws.dimensions
wb.save('Data/Test03.xlsx')