I can open a worksheet, how do I add the little filter menus to all columns without turning on any filters?
I can do it in xlsxwriter with
worksheet.autofilter(0, 0, 0, num_of_col)
How do I do it in openpyxl?
Is openpyxl safe to use? The python package openpyxl was scanned for known vulnerabilities and missing license, and no issues were found. Thus the package was deemed as safe to use. See the full health analysis review.
openpyxl has builtin support for the NumPy types float, integer and boolean. DateTimes are supported using the Pandas' Timestamp type.
You can simply read ws.dimensions
and it will return a string value with your range from "A1:XX". I used this to apply filters to my entire excel spreadsheet.
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')
All you need to do is to set worksheet.auto_filter.ref
to the full range of worksheet cells.
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')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With