Apache POI - 列印區域



本章節中,我們將講解如何在電子表格中設定列印區域。Excel 電子表格的常規列印區域是從左上角到右下角。您可以根據需要定製列印區域。這意味著您可以在整個電子表格中列印特定單元格區域、定製紙張尺寸、列印帶網格線的單元格內容等。

使用以下程式碼在電子表格中設定列印區域。

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

我們把以上程式碼儲存為PrintArea.java。透過命令提示符編譯並執行如下。

$javac PrintArea.java
$java PrintArea

這會在當前目錄中生成一個名為printarea.xlsx的檔案,並在命令提示符上顯示以下輸出。

printarea.xlsx written successfully

在以上程式碼中,我們並未新增任何單元格值。因此printarea.xlsx是一個空檔案。但是,您可以在下圖中看到列印預覽顯示帶網格線的列印區域。

PrintArea
廣告