Toutes les nouveautés concernant POI se trouvent maintenant sur le weblog POI.
Le projet POI se compose d'un ensemble de librairies en pur Java (Pure Java APIs) pour manipuler divers formats basés sur le format Microsoft "OLE 2 Compound Document". En résumé, avec POI, vous lisez et écrivez des fichiers MS Excel depuis Java. Bientôt, vous pourez faire la même chose avec des fichiers MS Word. POI est la solution liant Java et Excel ainsi que Java et Word. Cependant, nous disposons d'une API complète travaillant sur d'autres formats "OLE 2 Compound Document" et nous acceptons volontiers les contributions pour continuer leur développement.
La plupart des fichiers Microsoft Office comme les fichiers XLS et DOC sont au format "OLE 2 Compound Document". De même, les fichiers produits en utilisant l'API de sérialisation de MFC respectent ce format.
De façon générale, nous essayons de collaborer autant que possible avec d'autres projets de fournir cette fonctionnalité. A titre d'exemple, on trouve Cocoon qui dispose de sérialiseurs pour HSSF, Open Office.org avec qui nous collaborons pour documenter le format XLS et Lucene qui disposera bientôt d'interpètes de format de fichiers. Dans la mesure du possible, nous offrons nos composants aux projets pour qu'ils utilisent POI.
Nous aborderons ce point au niveau composant, POI se rapportant au projet entier.
Donc, comment choisir entre les composants POIFS ou HSSF ?
Vous emploierez POIFS si vous manipulez en Java un document au format "OLE 2 Compound Document", sans doute écrit avec les MFC. De même, vous pouvez inter-fonctionner avec des logiciels sur une plate-forme Windows en écrivant des fichiers au format "OLE 2 Compound Document" gràce à POIFS. Nous ne nous vantons pas quand nous prétendons que POIFS est actuellement l'implémentation JAVA la plus aboutie de pour manipuler ce format de fichiers.
Vous utiliserez par contre HSSF lorsque vous souhaitez lire ou écrire depuis un programme Java un fichier au format XLS pour Excel. Bien entendu, vous avez la possibilité de lire et modifier des feuilles de calcul avec cette API, mais cependant, pour l'instant, la fonction d'écriture est la plus avancée.
Une idée répandue mais fausse consiste à dire que POI permet d'écrire des fichiers Excel alors que POI est le nom du projet. POI contient différents composants dont un, HSSF, permet d'écrire des fichiers Excel. Ci-dessous, on trouve les composants du projet POI et une description rapide de leurs fontionnalités.
POIFS est la partie la plus stable et la plus ancienne du projet. C'est notre implémentation en pur Java du format "OLE 2 Compound Document". Elle comprend les fonctions de lecture et d'écriture dans ce format. Par construction, tous nos composants s'appuient dessus. Si vous souhaitez plus d'information, visitez le page du projet POIFS.
HSSF constitue une implémentation en pur Java du format de fichers BIFF8 de Microsoft Excel 97(-2002). Elle dispose des fonctions de lecture et d'écriture. Pour plus d'information, la page du projet HSSF vous attend.
HWPF sera une implémentation en pur Java du format de fichiers Word 97, avec des fonctions de lecture et d'écriture. Rendez-vous sur la page du projet HWPF pour plus d'information. Bien que ce composant n'en soit qu'à ses débuts, il permet déjà de lire et d'écrire des fichiers simples. Essayez-le et aidez-nous!
HPSF implémente en pur Java le format OLE 2 des ensembles de propriétés. Ces ensembles de propriétés sont principalement utilisés pour stocker les propriétés d'un document (titre, auteur, date de dernière modification...), mais elles sont aussi utilisées de façon particulières par certaines applications. Actuellement, HPSF ne permet que la lecture des ensembles de propriétés. Vous trouverez plus d'informations surla page du projet HPSF.
Bon, vous voudriez contribuer au projet ? Génial ! Nous avons besoin de personnes enthousiastes, assidus, doués pour nous aider sur le projet dans plusieurs domaines. Le premier concerne les rapports d'anomalies ainsi que les demandes d'améliorations ! En second arrive la documentation : nous écouterons volontiers vos critiques et accepterons encore plus volontiers vos contributions documentaires. En particulier, pour ce qui concerne le format HSSF. Enfin, les développeurs Java parlant binaire et prêts à se plonger dans les arcanes des formats de Microsoft sont les bienvenus. Ils nous aiderons à implémenter d'autres formats et contribuerons à améliorer les plateformes Java.
Donc, si vous êtes motivés et si vous avez un peu de temps, rejoignez-nous sur les listes de diffusion. Nous serons très heureux de vous guidez pour vos premiers pas dans le projet POI.