How to create an excel file with an autofilter in the first row with xlwt?

泪湿孤枕 提交于 2019-12-01 03:04:07

问题


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


回答1:


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



回答2:


I found this message in a Google group. It looks like it's not possible, unfortunately.




回答3:


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".



来源:https://stackoverflow.com/questions/1948224/how-to-create-an-excel-file-with-an-autofilter-in-the-first-row-with-xlwt

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!