POI(エクセル)の読み込みを実装してみた〜JavaExcel読み込み〜
備忘録のために残しておこう。
今日は読み込んでDTOにセットするまで!!
private static List<Dto> readCSV() { List<Dto> list = new ArrayList<Dto>(); try { //ここまではBufferedReaderと同じ FileInputStream fis = new FileInputStream(new File(READ_FILE_PATH)); //BufferedReaderのようにPOIFSFileSystemの引数にFileInputStreamオブジェクトを指定 POIFSFileSystem fs = new POIFSFileSystem(fis); // 1.まずワークブックオブジェクトを取得 HSSFWorkbook wb = new HSSFWorkbook(fs); // 2.ワークシートを取得。今回は先頭のシートのみを狙い撃ち HSSFSheet sheet = wb.getSheetAt(0); // 3.ワークシート内にある行の最後の行インデックス分ループ //インデックスは除去したいので初期値を1にする for (int i = 1; i <= sheet.getLastRowNum(); i++) { // 一列取得(readLineみたいな感じかな) HSSFRow row = sheet.getRow(i); Dto dto = new Dto(); // dtoに値をセットしていく HSSFCell name = row.getCell(0); dto.setName(name.getStringCellValue()); HSSFCell sign = row.getCell(1); dto.setSign(sign.getStringCellValue()); System.out.println("#-----------------------------------------"); System.out.println(dto.getSign()); System.out.println(dto.getName()); list.add(dto); } fis.close(); } catch (Exception e) { e.printStackTrace(); } return list; }
仕事で使った。
忘れそうなので置いておこう。