我正在使用org.apache.poi 3.15读取一个excel文件(文件扩展名为xlsx)。

这是我的代码:

try (FileInputStream fileInputStream = new FileInputStream(file); XSSFWorkbook workbook = new XSSFWorkbook(file)) {
    XSSFSheet sheet = workbook.getSheetAt(0);
    Iterator<Row> rowIterator = sheet.iterator();
    while (rowIterator.hasNext()) {
        Row row = rowIterator.next();

        Iterator<Cell> cellIterator = row.cellIterator();
        while (cellIterator.hasNext()) {
            Cell cell = cellIterator.next();
            switch (cell.getCellType()) {
                case Cell.CELL_TYPE_NUMERIC:
                    System.out.print(cell.getNumericCellValue() + "(Integer)\t");
                    break;
                case Cell.CELL_TYPE_STRING:
                    System.out.print(cell.getStringCellValue() + "(String)\t");
                    break;
            }
        }
        System.out.println("");
    }
} catch (Exception e) {
    e.printStackTrace();
}

我收到不推荐使用cell.getCellType()的警告。谁能告诉我替代方案?

最佳答案

接受的答案显示了弃用的原因,但未列出替代项:

CellType    getCellTypeEnum()

其中CellType是描述单元格类型的枚举。

计划是在POI 4.0中将getCellTypeEnum()重命名为getCellType()

09-12 23:39