java POI根据单元格的类型获取Excel单元格的内容

来源:互联网 发布:360软件手机助手 编辑:程序博客网 时间:2024/05/20 15:39
/*To get the contents of a cell, you first need to know what kind of cell it is (asking a string cell for its numeric contents will get you a NumberFormatException for example). So, you will want to switch on the cell's type, and then call the appropriate getter for that cell.In the code below, we loop over every cell in one sheet, print out the cell's reference (eg A3), and then the cell's contents.*/    // import org.apache.poi.ss.usermodel.*;    Sheet sheet1 = wb.getSheetAt(0);    for (Row row : sheet1) {        for (Cell cell : row) {            CellReference cellRef = new CellReference(row.getRowNum(), cell.getColumnIndex());            System.out.print(cellRef.formatAsString());            System.out.print(" - ");            switch (cell.getCellType()) {                case Cell.CELL_TYPE_STRING:                    System.out.println(cell.getRichStringCellValue().getString());                    break;                case Cell.CELL_TYPE_NUMERIC:                    if (DateUtil.isCellDateFormatted(cell)) {                        System.out.println(cell.getDateCellValue());                    } else {                        System.out.println(cell.getNumericCellValue());                    }                    break;                case Cell.CELL_TYPE_BOOLEAN:                    System.out.println(cell.getBooleanCellValue());                    break;                case Cell.CELL_TYPE_FORMULA:                    System.out.println(cell.getCellFormula());                    break;                default:                    System.out.println();            }        }    }

0 0