Dec 01
|
The following just puts together everything we’ve covered on POI so far.
The following is a simple utility method to read an Excel file (XLS or XLSX) and write the reference and contents of each cell to a writer of your choice. So you could use it to dump stdout, or a file.
public static void dump(File excel, PrintWriter out) throws IOException, InvalidFormatException { FileInputStream in = new FileInputStream(excel); Workbook workbook = WorkbookFactory.create(in); int nsheets = workbook.getNumberOfSheets(); for (int i = 0; i < nsheets; i++) { Sheet sheet = workbook.getSheetAt(i); for (Row row : sheet) { for (Cell cell : row) { String cellValue = null; switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING: cellValue = cell.getStringCellValue(); break; case Cell.CELL_TYPE_FORMULA: cellValue = cell.getCellFormula(); break; case Cell.CELL_TYPE_NUMERIC: if (DateUtil.isCellDateFormatted(cell)) { cellValue = cell.getDateCellValue().toString(); } else { cellValue = Double.toString( cell.getNumericCellValue()); } break; case Cell.CELL_TYPE_BLANK: cellValue = ""; break; case Cell.CELL_TYPE_BOOLEAN: cellValue = Boolean .toString(cell.getBooleanCellValue()); break; } CellReference cellReference = new CellReference( row.getRowNum(), cell.getColumnIndex()); out.println(cellReference.formatAsString()+"="+cellValue); } } } in.close(); }