2009-12-22 14 views

回答

4

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 
+0

嗨,谢谢你的回答,但我的服务器在Linux上运行,所以我无法使用COM。 :-( – jbochi 2009-12-22 21:16:44

+1

@jbochi:没问题,你可能想用这个附加信息更新这个问题 – bernie 2009-12-22 21:29:55

+0

这不适用于我,请帮助我,我得到这个错误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

2

我有同样的问题,运行Linux服务器。

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

+1

您可以使用XlsxWriter添加自动筛选器。请参阅此示例(http://xlsxwriter.readthedocs.org/en/)。 latest/example_autofilter.html#ex-autofilter)。 – jmcnamara 2013-12-30 21:02:40

+0

@jmcnamara SORRY此页面不存在。 – 2016-06-06 09:30:03

+0

请尝试此链接:https://xlsxwriter.readthedocs.io/working_with_autofilters.html – jmcnamara 2016-06-06 10:16:52

相关问题