- Home ›
- Apache POIでExcelを操作 ›
- シート ›
- HERE
シートから行を削除
広告
シートから行を削除する方法を確認します。
行を削除するにはSheetインターフェースで用意されているremoveRowメソッドを使います。
removeRow void removeRow(Row row)
Remove a row from this sheet. All cells contained in the row are removed as well Parameters: row - representing a row to remove.
引数には行を表すRowインターフェースを実装したクラスのオブジェクトを指定します。
実際の使い方は次のようになります。
InputStream in = new FileInputStream("filename.xls");
Workbook wb = WorkbookFactory.create(in);
Sheet sheet = wb.getSheetAt(0);
Row row = sheet.getRow(1);
sheet.removeRow(row);
この場合はシートから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.Row;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import java.io.*;
public class Sample4_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());
}
}
Sheet sheet = wb.getSheetAt(0);
Row row = sheet.getRow(2);
sheet.removeRow(row);
FileOutputStream out = null;
try{
out = new FileOutputStream("sample4_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());
}
}
}
}
事前に次のようなExcelファイルを用意しています。
プログラムを実行すると、シートに含まれる3つの行の中から2行目の行を削除しています。それでは作成されたファイルをExcelで開いてみます。
行が削除されていることを確認できます。
( Written by Tatsuo Ikura )
JavaDrive