Apache POI - Área de impressão
Este capítulo explica como definir a área de impressão em uma planilha. A área de impressão normal é da parte superior esquerda para a inferior direita nas planilhas do Excel. A área de impressão pode ser personalizada de acordo com sua necessidade. Isso significa que você pode imprimir um determinado intervalo de células de toda a planilha, personalizar o tamanho do papel, imprimir o conteúdo com as linhas de grade ativadas, etc.
O código a seguir é usado para configurar a área de impressão em uma planilha.
import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xssf.usermodel.XSSFPrintSetup;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class PrintArea {
public static void main(String[] args)throws Exception {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet spreadsheet = workbook.createSheet("Print Area");
//set print area with indexes
workbook.setPrintArea(
0, //sheet index
0, //start column
5, //end column
0, //start row
5 //end row
);
//set paper size
spreadsheet.getPrintSetup().setPaperSize(XSSFPrintSetup.A4_PAPERSIZE);
//set display grid lines or not
spreadsheet.setDisplayGridlines(true);
//set print grid lines or not
spreadsheet.setPrintGridlines(true);
FileOutputStream out = new FileOutputStream(new File("printarea.xlsx"));
workbook.write(out);
out.close();
System.out.println("printarea.xlsx written successfully");
}
}
Vamos salvar o código acima como PrintArea.java. Compile e execute-o a partir do prompt de comando da seguinte maneira.
$javac PrintArea.java
$java PrintArea
Irá gerar um arquivo chamado printarea.xlsx em seu diretório atual e exiba a seguinte saída no prompt de comando.
printarea.xlsx written successfully
No código acima, não adicionamos nenhum valor de célula. Conseqüentementeprintarea.xlsxé um arquivo em branco. Mas você pode observar na figura a seguir que a visualização da impressão mostra a área de impressão com linhas de grade.