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空白のファイルです。ただし、次の図では、印刷プレビューにグリッド線のある印刷領域が表示されていることがわかります。