2016-04-01 7 views
0

Ich versuche, einen Filter in Excel programmatisch zu erstellen, wenn das Blatt mit openpyxl erstellt wird, wird die erste Zeile jedes Blattes bereits auf einen Filter festgelegt. Ich habe mir die Dokumentation angesehen, aber alles, was ich finden kann, ist, wie man Daten filtert, um keinen Filter zu erstellen.Erstellen Sie einen visuellen Filter in Excel mit Python - openpyxl

Ist es überhaupt möglich mit der aktuellen Implementierung von openpyxl?

+0

Werfen Sie einen Blick auf [xlsxwriter] (http://xlsxwriter.readthedocs.org/working_with_autofilters.html), scheint es, die Funktionalität zu haben, die Sie suchen für – wnnmaw

Antwort

1

openpyxl unterstützt Filter. Siehe das Modul worksheet.filters und die zugehörigen Tests.

Probe von dem, was Sie tun können:

ws.auto_filter.ref = 'C1:G9' 
+0

Genau, danke! P. Wenn sich jemand wundert, kann es hilfreich sein, max Spalte zu verwenden, um den Filter für die gesamte Zeile zu verwenden. Verwenden Sie openpyxl.utils._get_column_letter (Arbeitsblatt.max_column) – Slavi

+1

Warum verwenden Sie die private Funktion? Verwenden Sie 'get_column_letter()' aus dem Modul utils. –

Verwandte Themen