I am using Python 2.6 + xlwt module to generate excel files.
Is it possible to include an autofilter in the first row with xlwt or pyExcelerator or anything else besides COM?
Thanks
AFAIK xlwt doesn't allow you to add a filter.
However you can add a filter using Mark Hammond's Python Win32 Extensions. Download for 2.6 here.
Something like this should work (tested in Python 2.5.4):
from win32com.client import DispatchEx
xl = DispatchEx("Excel.Application")
xl.Workbooks.Open("c:/excel_file.xls")
xl.ActiveWorkbook.ActiveSheet.Columns(1).AutoFilter(1)
xl.ActiveWorkbook.Close(SaveChanges=1)
xl.Quit()
del xl # ensure excel.exe process ends
I found this message in a Google group. It looks like it's not possible, unfortunately.
I have the same issue, running a linux server.
i'm going to check creating an ODS or XLSX file with auto-filter by other means, and then convert them with a libreoffice command line to "xls".
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