- Home ›
- Apache POIでExcelを操作 ›
- ワークブック ›
- HERE
シートを作成しワークブックに追加
ワークブックを作成したら、次はシートを作成しワークブックに追加します。
シートを作成するにはWorkbookインターフェースで定義されているcreateSheetメソッドを使います。
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メソッドを使用します。
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 )
JavaDrive