Apache-poi-print-area

提供:Dev Guides
移動先:案内検索

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