Apache POI es una biblioteca Java popular que le permite trabajar con formatos de oficina de Microsoft, incluidas las hojas de cálculo de Excel. El módulo XSSF (formato de hoja de cálculo XML) del Apache POI funciona con archivos de Excel en el nuevo formato basado en XML, comúnmente conocido como . XLSX . Los encabezados y los pies en Excel son las áreas en la parte superior e inferior de cada página en una hoja de trabajo donde puede colocar contenido como títulos, números de página, fechas y otra información relevante. Apache POI proporciona funcionalidades para trabajar con encabezados y pies de página utilizando el módulo XSSF. Así es como puede trabajar con encabezados y pies de página utilizando Apache POI XSSF.

Crear encabezados y pies de página en Excel usando Java

Para crear encabezados y pies de página, primero debe obtener una instancia de la clase xssfsheet de su libro de trabajo. Luego, puede usar los métodos GetHeader () y getFooter () para acceder a los objetos de encabezado y pie de página respectivamente. Puede establecer un contenido diferente para las partes izquierda, central y derecha del encabezado/pie de página utilizando métodos como setleft () , setCenter () y setRight () .

Código Java de Apache Poi para agregar encabezados y pies de página a los archivos de Excel en Java

El siguiente código Java se puede usar desde Apache POI para insertar encabezados y pies de página para Excel archivos.

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);
}

La muestra de código anterior obtiene tres tipos de encabezados de la hoja, es decir, el centro, incluso la página y los encabezados de página impares. La clase de encabezado se usa para este propósito. Apache POI proporciona las opciones para obtener los encabezados de página uniformes y impares para establecerlos explícitamente. Esto le permite tener control sobre diferentes encabezados de página pares y impares. GetEvenheader y getoddheader Los métodos de la clase XSSFSFEET se utilizan para obtener estos objetos de encabezado para la manipulación.

Caracteres especiales y formato

Los encabezados y los pies de página pueden contener formateo especial y marcadores de posición para información dinámica. Apache POI admite marcadores de posición como & [Page], & [fecha] y & [Time] para insertar automáticamente números de página, fechas y horarios.

footer.setCenter("Page &[Page] of &[Pages]");

Diferente para la primera página

Los encabezados y los pies de página pueden ser diferentes para la primera página y las páginas impares/par. Puede usar setFirStheader () , setFirstFooter () , setoddheader () y setoddfooter () métodos para establecer diferentes contenido para diferentes escenarios.

header.setFirstHeader("First Page Header");
footer.setOddFooter("Odd Page Footer");

Configuración de encabezado/pie de página

También puede controlar el tamaño del encabezado/pie de página utilizando los métodos setheadermargin () y 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

Limpiar encabezados y pies de página

Si desea eliminar el encabezado o el pie de página, puede usar el método transclarar () .

header.clear(); // Clear the header content
footer.clear(); // Clear the footer content

Conclusión

Trabajar con encabezados y pies de página en Apache POI XSSF le permite personalizar la apariencia de sus hojas de trabajo de Excel y agregar información importante a los documentos impresos o guardados. Al aprovechar las características proporcionadas por Apache POI, puede administrar fácilmente encabezados y pies de página para cumplir con sus requisitos específicos. Para obtener más ejemplos sobre trabajar con Apache POI para manipular sus documentos de Excel en Java, estén atentos.