O Apache POI é uma biblioteca Java popular que permite que você trabalhe com os formatos do Microsoft Office, incluindo planilhas do Excel. O módulo XSSF (formato XML de planilha XML) do Apache POI funciona com arquivos do Excel no formato mais recente baseado em XML, comumente conhecido como . Xlsx . Cabeçalhos e rodapés no Excel são as áreas na parte superior e inferior de cada página em uma planilha, onde você pode colocar conteúdo como títulos, números de página, datas e outras informações relevantes. O Apache POI fornece funcionalidades para trabalhar com cabeçalhos e rodapés usando o módulo XSSF. Veja como você pode trabalhar com cabeçalhos e rodapés usando o Apache Poi XSSF.

Criando cabeçalhos e rodapés no Excel usando java

Para criar cabeçalhos e rodapés, primeiro você precisa obter uma instância da classe XSSFSheet da sua pasta de trabalho. Em seguida, você pode usar os métodos GETHEADER () e GETFOOTER () para acessar os objetos de cabeçalho e rodapé, respectivamente. Você pode definir conteúdo diferente para as partes esquerda, centro e direita do cabeçalho/rodapé usando métodos como SetLeft () , SetCenter () e STILTRITLE () .

Apache Poi Java Código para adicionar cabeçalhos e rodapés aos arquivos Excel em Java

O código Java a seguir pode ser usado do Apache POI para inserir cabeçalhos e rodapés nos arquivos excelentes.

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

A amostra de código acima recebe três tipos de cabeçalhos da folha, ou seja, central, unidade e cabeçalhos de página ímpares. A classe de cabeçalho é usada para esse fim. O Apache POI fornece as opções para obter os cabeçalhos de página par e ímpares para defini -los explicitamente. Isso permite que você tenha controle sobre cabeçalhos de página diferentes e ímpares. Os métodos getEvenHeader e getoddHeader da classe xssfSheet são usados ​​para obter esses objetos de cabeçalho para manipulação.

caracteres especiais e formatação

Cabeçalhos e rodapés podem conter formatação especial e espaço reservado para obter informações dinâmicas. O Apache POI suporta espaços reservados como & [Page], & [Date] e & [time] para inserir automaticamente números de página, datas e horários.

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

Diferente para a primeira página

Cabeçalhos e rodapés podem ser diferentes para a primeira página e as páginas ímpares/uniformes. Você pode usar setFirTheader () , setFirstFooter () , Métodos setoddHeader () e setoddfooter () para definir conteúdo diferente para diferentes cenários.

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

Cabeçalho de configuração/Tamanho do rodapé

Você também pode controlar o tamanho do cabeçalho/rodapé usando os métodos setheadergin () e 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

limpeza cabeçalhos e rodapés

Se você deseja remover o cabeçalho ou rodapé, pode usar o método clear () .

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

Conclusão

Trabalhar com cabeçalhos e rodapés no Apache POI XSSF permite personalizar a aparência das suas planilhas do Excel e adicionar informações importantes aos documentos impressos ou salvos. Ao alavancar os recursos fornecidos pelo Apache Poi, você pode gerenciar facilmente cabeçalhos e rodapés para atender aos seus requisitos específicos. Para mais exemplos sobre o trabalho com o Apache Poi para manipular seus documentos do Excel em Java, fique atento.