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

发布于 2024-08-15 13:12:14 字数 122 浏览 5 评论 0原文

我正在使用 Python 2.6 + xlwt 模块生成 excel 文件。

是否可以使用 xlwt 或 pyExcelerator 或除 COM 之外的其他任何内容在第一行中包含自动过滤器?

谢谢

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

在风中等你 2024-08-22 13:12:14

AFAIK 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

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
时光礼记 2024-08-22 13:12:14

我发现 此消息在 Google 群组中。不幸的是,这似乎是不可能的。

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

左秋 2024-08-22 13:12:14

我也有同样的问题,运行的是linux服务器。

我将检查通过其他方式创建带有自动过滤器的 ODS 或 XLSX 文件,然后使用 libreoffice 命令行将它们转换为“xls”。

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文