シートを作成しワークブックに追加

広告

ワークブックを作成したら、次はシートを作成しワークブックに追加します。

シートを作成するにはWorkbookインターフェースで定義されているcreateSheetメソッドを使います。

Sheet 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インターフェースは「ss」ユーザーモデルに基づいたもので、シートを作成するためのHSSFSheetクラスやXSSFSheetクラスに共通するスーパーインターフェースです。

使い方としては下記のようになります。

Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet();

このメソッドの場合にはシート名を指定していませんので、シートを作成するとExcelの規則に基づいて自動的にシート名が決まります。

より詳細なシートの作成方法については「シートの新規作成」を参照して下さい。

名前をつけてシートを作成

シート名を指定してシートを新規作成することができます。先ほどと名前が同じですが引数が異なるcreateSheetメソッドを使用します。

Sheet createSheet(java.lang.String sheetname)

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

Parameters:
  sheetname - sheetname to set for the sheet. 
Returns:
  Sheet representing the new sheet. 
Throws:
  java.lang.IllegalArgumentException - if the name is greater than 31 chars or 
    contains /\?*[]

引数にはシート名を表す文字列を指定して下さい。

使い方としては下記のようになります。

Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet("new sheet");

シート名として日本語も指定してみましたが、問題なく使用できるようです。

サンプルプログラム

実際に試してみましょう。

Sample3_1.java

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.Sheet;
import java.io.*;

public class Sample3_1{
  public static void main(String[] args){
    Workbook wb = new HSSFWorkbook();

    Sheet sheet1 = wb.createSheet();
    Sheet sheet2 = wb.createSheet();
    Sheet sheet3 = wb.createSheet("new sheet");
    Sheet sheet4 = wb.createSheet("表計算用");

    FileOutputStream out = null;
    try{
      out = new FileOutputStream("sample3_1.xls");
      wb.write(out);
    }catch(IOException e){
      System.out.println(e.toString());
    }finally{
      try {
        out.close();
      }catch(IOException e){
        System.out.println(e.toString());
      }
    }
  }
}

コンパイルを行い実行すると「sample3_1.xls」というファイルが作成されます。作成されたファイルをExcelで開いてみます。

シートを作成しワークブックに追加

ワークブックの中に4つのシートが作成されていることが確認できます。最初の二つのシートはシート名を指定していないもの。残りの二つはシート名を指定して作成したものです。日本語のシート名も文字化けなどせずに設定できていることが分かります。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。