我正在使用Python 2.6 + xlwt模块生成excel文件。如何使用xlwt在第一行创建带有自动过滤器的Excel文件?
是否有可能在第一行包含xlwt或pyExcelerator或COM以外的其他任何自动过滤器?
感谢
我正在使用Python 2.6 + xlwt模块生成excel文件。如何使用xlwt在第一行创建带有自动过滤器的Excel文件?
是否有可能在第一行包含xlwt或pyExcelerator或COM以外的其他任何自动过滤器?
感谢
AFAIK xlwt不允许您添加过滤器。
但是,您可以使用Mark Hammond's Python Win32 Extensions添加过滤器。下载2.6 here。
像这样的东西应该工作(在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
我一个谷歌组中找到this message。不幸的是,它看起来不可能。
我有同样的问题,运行Linux服务器。
我要检查创建ODS或XLSX文件与自动过滤器通过其他方式,然后将它们与libreoffice命令行转换为“xls”。
您可以使用XlsxWriter添加自动筛选器。请参阅此示例(http://xlsxwriter.readthedocs.org/en/)。 latest/example_autofilter.html#ex-autofilter)。 – jmcnamara 2013-12-30 21:02:40
@jmcnamara SORRY此页面不存在。 – 2016-06-06 09:30:03
请尝试此链接:https://xlsxwriter.readthedocs.io/working_with_autofilters.html – jmcnamara 2016-06-06 10:16:52
嗨,谢谢你的回答,但我的服务器在Linux上运行,所以我无法使用COM。 :-( – jbochi 2009-12-22 21:16:44
@jbochi:没问题,你可能想用这个附加信息更新这个问题 – bernie 2009-12-22 21:29:55
这不适用于我,请帮助我,我得到这个错误xl = DispatchEx(“Excel.Application “) DispatchEx dispatch = pythoncom.CoCreateInstanceEx(clsid,None,clsctx,serverInfo,(pythoncom.IID_IDispatch,第123行)中的文件”C:\ Python27 \ lib \ site-packages \ win32com \ client \ __ init__.py“ ))[0] pywintypes.com_error:(-2147221005,'无效的类字符串',None,None) – 2016-06-06 09:28:22