シートの新規作成

広告

ワークブックには複数のシートを含めることができます。これによって目的別に用意した複数のシートを一つのワークブックでまとめて管理することができるようになります。ワークブックの中ではウィンドウ下部にタブが表示され、シートを選択して表示することができます。ここではまず新規のシートを作成する方法を確認します。

Apache POIにおいてシートを表すオブジェクトは「HSSFSheet」クラス及び「XSSFSheet」クラスのオブジェクトとなります。

HSSFSheetクラスのクラス定義は次のようになっています。

public final class HSSFSheet
extends java.lang.Object implements Sheet
java.lang.Object
 L org.apache.poi.hssf.usermodel.HSSFSheet

新規にHSSFSheetクラスのオブジェクトを作成するにはHSSFWorkbookクラスで用意されているcreateSheetメソッドなどを使って作成します。

HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();

続いてXSSFSheetクラスです。XSSFSheetクラスのクラス定義は次のようになっています。

public class XSSFSheet
extends POIXMLDocumentPart implements Sheet
java.lang.Object
 L org.apache.poi.POIXMLDocumentPart
     L org.apache.poi.xssf.usermodel.XSSFSheet

新規にXSSFSheetクラスのオブジェクトを作成するにはXSSFWorkbookクラスで用意されているcreateSheetメソッドなどを使って作成します。

XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet();

このようにExcel2003までの形式のシートと、Excel2007の形式のシートを明示的に作成することができます。

Sheetインターフェース

「ss」ユーザーモデルでは、まずWorkbookインターフェースを実装したクラスのオブジェクトを作成しました。同じようにシートを作成するにはWorkbookインターフェースで用意されているcreateSheetメソッドを使ってシートオブジェクトを作成します。

Sreate an Sheet for this Workbook, adds it to the sheets and returns the high level 
representation. Use this to create new sheets.

Returns:
  Sheet representing the new sheet.

このメソッドを使って作成されるオブジェクトはSheetインターフェースを実装したクラスのオブジェクトとなります。Sheetインターフェースは「HSSFSheet」クラス及び「XSSFSheet」クラスに共通するスーパーインターフェースです。

実際の使い方は次のようになります。

Workbook wb1 = new HSSFWorkbook();
Sheet sheet1 = wb1.createSheet();

Workbook wb2 = new XSSFWorkbook();
Sheet sheet2 = wb2.createSheet();

どちらのファイルフォーマットの形式のものであっても同じようにシートを扱うことができます。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)