Apache POI - Zone d'impression
Ce chapitre explique comment définir la zone d'impression sur une feuille de calcul. La zone d'impression habituelle est de haut à gauche en bas à droite sur les feuilles de calcul Excel. La zone d'impression peut être personnalisée selon vos besoins. Cela signifie que vous pouvez imprimer une plage particulière de cellules à partir de la feuille de calcul entière, personnaliser le format du papier, imprimer le contenu avec les lignes de la grille activées, etc.
Le code suivant est utilisé pour configurer la zone d'impression sur une feuille de calcul.
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");
}
}
Sauvegardons le code ci-dessus sous PrintArea.java. Compilez et exécutez-le à partir de l'invite de commande comme suit.
$javac PrintArea.java
$java PrintArea
Il générera un fichier nommé printarea.xlsx dans votre répertoire actuel et affichez la sortie suivante sur l'invite de commande.
printarea.xlsx written successfully
Dans le code ci-dessus, nous n'avons ajouté aucune valeur de cellule. Par conséquentprintarea.xlsxest un fichier vierge. Mais vous pouvez observer dans la figure suivante que l'aperçu avant impression montre la zone d'impression avec des lignes de quadrillage.