JAVA : Une alternative à POI => XDocReport

Dans cet article, je vais vous parler d'une alternative à POI. En effet, afin de manipuler les fichiers "office", la bibliothèque la plus connue est POI. Cette bibliothèque est très appréciée pour la gestion des fichiers Excel par exemple. Par contre, pour la gestion des documents Word c'est une autre paire de manches. Tant que le fichier ne comporte pas d'objets spéciaux, la gestion est aisée. Par contre, pour l'édition de formulaires avec remplacement d'étiquettes par des valeurs extraites d'une base de données par exemple, la tâche est bien plus compliquée.

En fouillant un peu sur le Web, j'ai trouvé cette petite libraire très pratique : https://github.com/opensagres/xdocreport

Pour l'intégrer dans votre projet maven, rien de plus facile :

xdocreport

Les étiquettes dans vos documents doivent être préfixées par le symbole $ exemple : $test

Ci-dessous, un bout de code permettant de remplacer l'étiquette $test par Hello Word.

InputStream in = new FileInputStream(filenameIn);
 IXDocReport report = XDocReportRegistry.getRegistry().loadReport(
 in, TemplateEngineKind.Velocity);
IContext context = report.createContext();
 context.put("test", "Hello World");
OutputStream out = new FileOutputStream(folderReplacement+File.separator+r.getId()+".docx");
 report.process(context, out);
 out.close();

Et voilà, l'étiquette est remplacée dans votre document.

Un commentaire

  1. Bonjour,

    Il est à noter que ce projet est développé par Angelo Zerr, actuellement employé chez SODIFRANCE, société « sœur » de NETAPSYS.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.