シートの削除
広告
ワークブックからシートを削除する方法を確認します。
シートを削除するにはWorkbookインターフェースで定義されているremoveSheetAtメソッドを使います。
void removeSheetAt(int index)
Removes sheet at the given index Parameters: index - of the sheet to remove (0-based)
引数に削除するシートのインデックスを指定します。
使い方としては下記のようになります。
Workbook wb = new HSSFWorkbook(); wb.removeSheetAt(1);
上記の場合、インデックスが1のシートをワークブックから削除します。
サンプルプログラム
実際に試してみましょう。
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import java.io.*;
public class Sample7_1{
public static void main(String[] args){
FileInputStream in = null;
Workbook wb = null;
try{
in = new FileInputStream("sample.xls");
wb = WorkbookFactory.create(in);
}catch(IOException e){
System.out.println(e.toString());
}catch(InvalidFormatException e){
System.out.println(e.toString());
}finally{
try{
in.close();
}catch (IOException e){
System.out.println(e.toString());
}
}
wb.removeSheetAt(1);
FileOutputStream out = null;
try{
out = new FileOutputStream("sample7_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のシートを削除し、その後で別の名前を付けてワークブックを保存します。それでは作成されたファイルをExcelで開いてみます。
元のワークブックに含まれたいたインデックスが1のシートが削除され、シートが二つになっていることが確認できます。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。