Apache POI est une bibliothèque Java populaire qui vous permet de travailler avec des formats Microsoft Office, y compris des feuilles de calcul Excel. Le module XSSF (Format de calcul XML) d’Apache POI fonctionne avec des fichiers Excel dans le format basé sur XML plus récent, communément appelé . Xlsx . Les en-têtes et les pieds de page d’Excel sont les zones en haut et en bas de chaque page dans une feuille de calcul où vous pouvez placer du contenu tel que des titres, des numéros de page, des dates et d’autres informations pertinentes. Apache POI fournit des fonctionnalités pour travailler avec les en-têtes et les pieds de page à l’aide du module XSSF. Voici comment vous pouvez travailler avec les en-têtes et les pieds de page à l’aide d’Apache POI XSSF.
Création d’en-têtes et de pieds de page dans Excel en utilisant Java
Pour créer des en-têtes et des pieds de page, vous devez d’abord obtenir une instance de la classe xssfsheet de votre classeur. Ensuite, vous pouvez utiliser les méthodes GetHeader () et GetFooter () pour accéder respectivement aux objets d’en-tête et de pied de page. Vous pouvez définir différents contenus pour les parties gauche, centrale et droite de l’en-tête / pied de page à l’aide de méthodes comme SetLeft () , setCenter () , et setRight () .
APACHE POI Java Code pour ajouter des en-têtes et des pieds de page aux fichiers Excel dans Java
Le code Java suivant peut être utilisé à partir d’Apache POI pour insérer des en-têtes et des pieds pour exceller.
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = (XSSFSheet) wb.createSheet("new sheet");
// Create a first page header
Header header = sheet.getFirstHeader();
header.setCenter("Center First Page Header");
header.setLeft("Left First Page Header");
header.setRight("Right First Page Header");
// Create an even page header
Header header2 = sheet.getEvenHeader();
header2.setCenter("Center Even Page Header");
header2.setLeft("Left Even Page Header");
header2.setRight("Right Even Page Header");
// Create an odd page header
Header header3 = sheet.getOddHeader();
header3.setCenter("Center Odd Page Header");
header3.setLeft("Left Odd Page Header");
header3.setRight("Right Odd Page Header");
// Set/Remove Header properties
XSSFHeaderFooterProperties prop = sheet.getHeaderFooterProperties();
prop.setAlignWithMargins(true);
prop.setScaleWithDoc(true);
prop.removeDifferentFirst(); // This does not remove first page headers or footers
prop.removeDifferentOddEven(); // This does not remove even headers or footers
//Working with Footer
Footer footer = sheet.getFooter();
footer.setLeft("Left Footer");
footer.setCenter("Center Footer");
footer.setRight("Right Footer");
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
wb.write(fileOut);
}
L’échantillon de code ci-dessus obtient trois types d’en-têtes à partir de la feuille, c’est-à-dire des en-têtes de centre, de page même et de page impair. La classe d’en-tête est utilisée à cet effet. Apache POI offre les options pour que les en-têtes de page pair et étranges les définissent explicitement. Cela vous permet de contrôler différents en-têtes de page uniques et étranges. Les méthodes GetEvenheader et GetOddheader de la classe xssfsheet sont utilisées pour obtenir ces objets d’en-tête pour la manipulation.
caractères spéciaux et formatage
Les en-têtes et les pieds de page peuvent contenir un formatage spécial et des espaces réservés pour des informations dynamiques. Apache POI prend en charge les espaces réservés comme & [page]
, & [date]
, et & [temps]
pour insérer automatiquement les numéros de page, les dates et les heures.
footer.setCenter("Page &[Page] of &[Pages]");
différent pour la première page
Les en-têtes et les pieds de page peuvent être différents pour la première page et les pages Odd / Even. Vous pouvez utiliser setFiRSTHeader () , setFirstFooter () , setoDdHeader () , et setoDdfooter () Méthodes pour définir différents contenus pour différents scénarios.
header.setFirstHeader("First Page Header");
footer.setOddFooter("Odd Page Footer");
Réglage de la taille de l’en-tête / pied de page
Vous pouvez également contrôler la taille de l’en-tête / pied de page en utilisant les méthodes SetheaderMargin () et setFooterMargin () .
sheet.getHeader().setHeaderMargin(0.5); // Set header margin to 0.5 inches
sheet.getFooter().setFooterMargin(0.5); // Set footer margin to 0.5 inches
Effacer les en-têtes et les pieds de page
Si vous souhaitez retirer l’en-tête ou le pied de page, vous pouvez utiliser la méthode clear () .
header.clear(); // Clear the header content
footer.clear(); // Clear the footer content
Conclusion
Travailler avec des en-têtes et des pieds de page dans Apache POI XSSF vous permet de personnaliser l’apparence de vos feuilles de calcul Excel et d’ajouter des informations importantes aux documents imprimés ou enregistrés. En tirant parti des fonctionnalités fournies par Apache POI, vous pouvez facilement gérer les en-têtes et les pieds pour répondre à vos besoins spécifiques. Pour plus d’exemples sur le travail avec Apache POI pour manipuler vos documents Excel en Java, restez à l’écoute.