6


1

xlwtを使用して最初の行にオートフィルターを含むExcelファイルを作成するにはどうすればよいですか?

Python 2.6 + xlwtモジュールを使用してExcelファイルを生成しています。

xlwtまたはpyExcelerator、またはCOM以外の何かを使用して、最初の行にオートフィルターを含めることは可能ですか?

ありがとう

3 Answer


4


AFAIK xlwtでは、フィルターを追加できません。

ただし、http://starship.python.net/crew/mhammond/win32/Downloads.html [Mark Hammond’s Python Win32 Extensions]を使用してフィルターを追加できます。 2.6用のダウンロードhttp://sourceforge.net/projects/pywin32/files/ [こちら]。 +このようなものは動作するはずです(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


Googleグループでhttp://groups.google.com.au/group/python-excel/browse_thread/thread/5c07232e17c20af0/d8a4900e7f67e20f?lnk=gst&q=autofilter#d8a4900e7f67e20f [このメッセージ]を見つけました。 残念ながら不可能なようです。


2


Linuxサーバーを実行している同じ問題があります。

他の方法で自動フィルターを使用してODSまたはXLSXファイルを作成することを確認し、libreofficeコマンドラインで「xls」に変換します。