シート名の設定

広告

ワークブックに追加済みのシートに対してシート名を設定する方法を確認します。

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

Set the sheet name.

Parameters:
  sheet - number (0 based) 
Throws:
  java.lang.IllegalArgumentException - if the name is greater than 31 chars or 
    contains /\?*[]

1番目の引数にシートのインデックスを指定します。そして2番目の引数にシート名を文字列で指定します。

シート名は31文字までで「/\?*[]」などの文字は使用できません。なおシート名として日本語を指定することもできます。

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

Workbook wb = new HSSFWorkbook();
wb.setSheetName(1, "売上管理");

上記の場合、インデックスが1のシートのシート名を"売上管理"に設定しています。

サンプルプログラム

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

Sample6_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 Sample6_1{
  public static void main(String[] args){
    Workbook wb = new HSSFWorkbook();

    Sheet sheet1 = wb.createSheet();
    Sheet sheet2 = wb.createSheet();
    Sheet sheet3 = wb.createSheet();

    wb.setSheetName(1, "2009year");
    wb.setSheetName(2, "在庫テーブル");

    FileOutputStream out = null;
    try{
      out = new FileOutputStream("sample6_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());
      }
    }
  }
}

コンパイルを行い実行すると3つのシートが含まれるワークブックを作成します。そしてインデックスが1番目と2番目のシートのシート名を変更しています。それでは作成されたファイルをExcelで開いてみます。

シート名の設定

作成されたシートのシート名が設定されていることが確認できます。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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