web-dev-qa-db-fra.com

Apache POI 3.9: méthode WorkbookFactory introuvable

Dans mon application, j'ai utilisé Apache POI 3.8 pour le traitement des fichiers XLS.

Maintenant, je veux migrer vers Apache POI 3.9, la dernière version stable. J'ai ajouté le fichier JAR poi-3.9-20121203.jar dans mon application et supprimé les fichiers JAR liés à POI 3.8.

Mais il semble que, dans la version 3.9, la classe WorkbookFactory a été supprimée.

Alors, comment puis-je créer un Workbook avec WorkbookFactory dans Apache POI 3.9?

J'ai extrait le JAR et vérifié, il n'y a pas de classe comme WorkbookFactory.

Quelqu'un peut-il me dire comment créer un nouveau classeur avec POI 3.9?

22
Gunjan Shah

Vous manquez plusieurs fichiers JAR. Jetez un œil à la Page Composants POI et vous verrez que vous avez besoin du pot POI-3.9, du pot POI-OOXML-3.9 et de leurs dépendances respectives.

Si vous souhaitez travailler avec l'un des autres formats (par exemple doc, docx, ppt, pptx), vous aurez également besoin du pot POI-Scratchpad-3.9. Comme vous travaillez avec les formats de fichier OOXML (par exemple .xlsx), comme indiqué dans la page des composants, vous aurez besoin soit du pot POI-OOXML_Schemas-3.9, soit du pot OOXML-Schemas-1.1 complet plus grand.

De plus, depuis que cette question a été posée, il y a eu deux nouvelles versions d'Apache POI, avec beaucoup de bugs corrigés et de nouvelles fonctionnalités ajoutées , donc cela vaut la peine d'utiliser la dernière version (3.11 au moment de l'écriture) plutôt que 3.9!

42
Gagravarr

Je serais surpris qu'ils aient fait de tels changements de rupture sans le mentionner dans la liste des changements ...

Et en effet, je peux voir le WorkbookFactory dans le JavaDoc, qui je suppose sont à jour avec la dernière version.

Vous pouvez peut-être afficher du code simple qui a fonctionné en 3.8 et qui ne fonctionne plus en 3.9, ainsi que les messages d'erreur que vous obtenez. Le problème n'est peut-être pas ce que vous pensez ...

1
PhiLho