シートを作成しワークブックに追加
ワークブックを作成したら、次はシートを作成しワークブックに追加します。
シートを作成するには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");
			シート名として日本語も指定してみましたが、問題なく使用できるようです。
サンプルプログラム
実際に試してみましょう。
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 )
				著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。