2009-12-22 5 views

Répondre

4

AFAIK xlwt ne vous permet pas d'ajouter un filtre.

Toutefois, vous pouvez ajouter un filtre en utilisant Mark Hammond's Python Win32 Extensions. Télécharger pour 2.6 here.
Quelque chose comme cela devrait fonctionner (testé en 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

Salut, merci pour votre réponse, mais mon serveur fonctionne sous Linux, donc je ne peux pas utiliser le COM. :-( – jbochi

+1

@jbochi: Pas de problème, vous pouvez mettre à jour la question avec cette information supplémentaire – bernie

+0

cela ne fonctionne pas pour moi s'il vous plaît aidez-moi, je reçois cette erreur xl = DispatchEx ("Excel.Application ") Fichier" C: \ Python27 \ lib \ packages \ win32com \ client \ __ init__.py ", ligne 113, dans DispatchEx dispatch = pythoncom.CoCreateInstanceEx (clsid, None, clsctx, serverInfo, (pythoncom.IID_IDispatch,)) [0] pywintypes.com_error: (-2147221005, 'Chaîne de classe invalide', Aucune, Aucune) –

2

Je trouve this message dans un groupe Google. On dirait que ce n'est pas possible, malheureusement.

2

J'ai le même problème, l'exécution d'un serveur linux.

Je vais vérifier la création d'un fichier ODS ou XLSX avec auto-filtre par d'autres moyens, puis les convertir avec une ligne de commande libreoffice à "xls".

+1

Vous pouvez ajouter des filtres automatiques avec XlsxWriter. Voir [exemple] (http://xlsxwriter.readthedocs.org/fr/ dernier/example_autofilter.html # ex-autofilter) – jmcnamara

+0

@jmcnamara SORRY Cette page n'existe pas encore –

+0

Essayez ce lien: https://xlsxwriter.readthedocs.io/working_with_autofilters.html – jmcnamara

Questions connexes