Apache POI: Modifier et éditer un fichier Word avec Java

Dans ce chapitre on va voir comment ajouter un paragraphe à un fichier Word déjà créé en java. Après ce chapitre, vous serez capables de créer et lire un paragraphe en Java. Avant, vous devez télécharger et importer les bibliothèques nécessaires pour que ça marche(lisez la première partie du cour Comment créer un document Word en java).

Avant de commencer, vous devez télécharger l'api Apache POI.

Comment créer un paragraphe Word en Java?

Premièrement, on va étudier les classes responsables de la création et la lecture ou écriture d'un paragraphe, vous devez lire l'article précédent comment créer un document Word en Java pour que vous puissiez créer un paragraphe.

XWPFParagraph est la classe du package org.apache.poi.xwpf.usermodel et est utilisée pour créer un paragraphe dans un document word. Cette instance est aussi utilisée pour ajouter tous les types d'éléments dans un document word.

Voici les méthodes de la classe XWPFParagraph:

1- createRun()
Concatène un nouveau paragraphe au précédent

2-getAlignement()
Retourne l'alignement du paragraphe lequel va être appliqué au texte suivant de ce paragraphe.

3-setAlignment(ParagraphAlignment align)
Spécifie l'alignement du paragraphe lequel va etre appliqué au texte suivant de ce paragraphe.

4-setBorderBottom(Borders border)
Spécifie la bordure qui doit être affichée ci-dessous.

5-setBorderLeft(Borders border)
Spécifie la bordure qui doit être affichée à gauche.

6-setBorderRight(Borders border)
Spécifie la bordure qui doit être affichée à droite.

7-setBorderTop(Borders border)
Spécifie la bordure qui doit être affichée ci-dessus.

Le code suivant crée un paragraphe dans word:

//créer un document vide
XWPFDocument document= new XWPFDocument();
//créer une feuille avec paragraphe vide
XWPFParagraph paragraph = document.createParagraph();

Ajouter un texte

Maintenant, il reste le texte à insérer. Vous pouvez faire entrer le texte en utilisant la classe XWPFRun du package org.apache.poi.xwpf.usermodel. L'instance XWPFParagraph vous permet de récupérer l'objet XWPFRun:

XWPFRun run=paragraph.createRun();
Exemple:

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class CréerParagraphe
{
public static void main(String[] args)throws Exception
{
//créer un nouveau document
XWPFDocument document= new XWPFDocument();
//créer un flux d'écriture pour enregistrer contenu dans nouveaudoc.docx
FileOutputStream out = new FileOutputStream(
new File("nouveaudoc.docx"));

//créer un paragraphe
XWPFParagraph paragraph = document.createParagraph();
//créer l'objet run
XWPFRun run=paragraph.createRun();
//texte à ajouter
run.setText("Dans codeurjava.com, on bosse pour améliorer" +
"la qualité des tutoriels pour l'auto apprentissage " +
"dans le domaine de programmation java");
//mettre à jour le fichier nouveaudoc.docx
document.write(out);
//fermer le flux d'écriture
out.close();
System.out.println("les modifications ont été faites avec succès");
}
}
Sortie:

Après la compilation et l'exécution, un fichier nommé nouveaudoc.docx est créé dans votre répertoire courant.

Vous aurez en sortie le message suivant:

les modifications ont été faites avec succès
Le fichier nouveaudoc.docx apparaît comme suit:

Apache POI: ajouter un texte dans un fichier Word en java