如何使用xlwt创建带有自动筛选的Excel文件首行?

6 投票
3 回答
7261 浏览
提问于 2025-04-15 17:17

我正在使用 Python 2.6 和 xlwt 模块来生成 Excel 文件。

请问能不能在第一行加一个自动筛选功能,使用 xlwt、pyExcelerator 或者其他方法,但不想用 COM?

谢谢!

3 个回答

2

我也遇到了同样的问题,正在使用一个Linux服务器。

我打算尝试用其他方法创建一个带自动筛选的ODS或XLSX文件,然后再用libreoffice的命令行把它转换成“xls”格式。

2

我在一个谷歌小组里发现了这条消息。看起来,这个事情是不可能的,很遗憾。

4

据我所知,xlwt这个库不支持添加筛选功能。

不过,你可以通过Mark Hammond的Python Win32扩展来添加筛选功能。你可以在这里下载适用于2.6版本的文件
下面的代码应该可以工作(在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

撰写回答