Excelファイルの全シートから値を引っ張り出す
何となくやってみたかったので。
ネタ的に使えそうなのは、SheetがIterable
import java.io.FileInputStream; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; public class OutputAllCellValue { public static void main(String[] args) { try { Workbook book = WorkbookFactory.create(new FileInputStream("./temp/input.xls")); for (int i = 0; i < book.getNumberOfSheets(); i++) { Sheet sheet = book.getSheetAt(i); for (Row row : sheet) { for (Cell cell : row) { StringBuilder sb = new StringBuilder(); sb.append("[").append(cell.getSheet().getSheetName()).append("]"); sb.append(cell.getRowIndex()).append(":").append(cell.getColumnIndex()); switch (cell.getCellType()) { case Cell.CELL_TYPE_NUMERIC: sb.append("[NUMRIC ]").append(cell.getNumericCellValue()); break; case Cell.CELL_TYPE_STRING: sb.append("[STRING ]").append(cell.getStringCellValue()); break; case Cell.CELL_TYPE_FORMULA: sb.append("[FORMULA]").append(cell.getCellFormula()); break; case Cell.CELL_TYPE_BOOLEAN: sb.append("[BOOLEAN]").append(cell.getBooleanCellValue()); break; case Cell.CELL_TYPE_ERROR: sb.append("[ERROR ]").append(cell.getErrorCellValue()); break; case Cell.CELL_TYPE_BLANK: continue; default: continue; } System.out.println(sb); } } } } catch (Exception e) { e.printStackTrace(); } } }