JavaでExcelが編集できちゃいます

  • 2019年1月3日
  • 2020年6月16日
  • Java
JavaでExcelファイルのシートのデータを全て読み込んで、
内容を書き換えてみましょう。

Javaコース

今回は、2018と書いてあるセルをすべて2019に書き換えるので
実行すると以下の画像のような結果になります。

実行前:



実行後:

実行にはApachePOIのjarファイルが必要なので追加方法は
前の記事、Javaでエクセルにデータを出力する方法を参照してください。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Iterator;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class EditExcelFileExample {
    public static void main(String[] args) {
        
        //ストリームを初期化
        FileInputStream input = null;
        FileOutputStream output = null;
        
        //エクセルファイルを編集
        try {
            input = new FileInputStream(new File("ファイル名までを含んだパス"));
            XSSFWorkbook workbook = new XSSFWorkbook(input);
            XSSFSheet sheet = workbook.getSheetAt(0);
            Iterator rowIterator = sheet.rowIterator();
            
            //データを全て読み込む
            while (rowIterator.hasNext()) { 
                XSSFRow row = (XSSFRow) rowIterator.next();
                Iterator cellIterator = row.cellIterator();
                
                //2018を2019に書き換える
                while (cellIterator.hasNext()) {
                    XSSFCell cell = (XSSFCell) cellIterator.next();
                    if((cell.toString().contains("2018"))) {
                        cell.setCellValue(2019);
                    }
                }
            }
            
            //編集内容をファイルに出力
            output = new FileOutputStream(new File("ファイル名までを含んだパス"));
            workbook.write(output);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                input.close();
                output.close();
            } catch(Exception e) {
                e.printStackTrace();
            }
        }        
    }
}

IT分野の転職のご相談なら・・・IT専門転職エージェント@PRO人