Question

J'aimerais une bonne bibliothèque Python native pour écrire XLS, mais cela ne semble pas exister. Heureusement, Jython le fait.

J'essaie donc de choisir entre jexcelapi et Apache HSSF: http://www.andykhan.com/jexcelapi/tutorial.html#writing http://poi.apache.org/hssf/quick-guide.html

(Je ne peux pas utiliser l'automatisation COM parce que je ne suis pas sous Windows et même si je l'étais, je n'aurais pas les moyens d'acheter des licences Office.)

Mes pensées initiales sont que POI / HSSF est très complet, mais aussi très Java - tout semble un peu plus difficile qu’il ne devrait l’être. Une bonne documentation, mais j'ai mal à la tête pour essayer de combler le fossé entre ce qu'elle décrit et ce que je dois accomplir.

jexcepapi semble avoir une interface plus simple et plus agréable (pour moi), mais n’a pas une très bonne documentation ou communauté.

Lequel utiliseriez-vous et pourquoi?

Était-ce utile?

La solution

Qu'est-ce qui ne va pas avec xlwt ?

Autres conseils

+1 pour xlwt. Voir le blog de Matt Harrison pour des articles sur comment utiliser xlwt et comment traiter les feuilles de calcul volumineuses . Consultez également le groupe python-excel sur Google "Si vous utilisez Python pour lire, écrire ou manipuler des fichiers Excel".

J'utiliserais JExcelApi, mais seulement parce que je l'avais déjà utilisé auparavant. Jamais touché HSSF. Le plus gros show-stopper que je puisse me rappeler est que JExcelApi ne prend pas en charge plusieurs formats dans une cellule (par exemple, la moitié du texte en gras, l’autre moitié en italique ou quelque chose comme ça). Je pense qu'en général, JExcelApi est plus limité que HSSF, mais les limitations ne m'ont jamais gêné.

Et oui, la documentation est rare pour l'interface (et inexistante pour les mécanismes sous-jacents), mais je pensais que c'était faisable ...

Je déconseille personnellement à JExcel si vous souhaitez utiliser autre chose que du texte très simple pour exceller et vice versa.

les fonctionnalités les plus avancées sont très abstraites des spécifications sous-jacentes (généralement non documentées) du code de bas niveau / d'Excel (documentées).

Un autre problème que nous avons rencontré est que jexcel échoue fatalement lorsqu’il rencontre des formules invalides. et si vous avez besoin d'analyser les feuilles de calcul fournies par le client, c'est un problème.

La nouvelle version de POI prend également en charge (presque) sans effort xls et xlsx en même temps.

Excel expose la même API d’automatisation OLE utilisée par VBA à tout ce qui prend en charge COM. Vous pouvez utiliser win32com (inclus par défaut avec ActiveState Python) pour manipuler les feuilles de calcul d’une manière très similaire à celle utilisée dans VBA.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top