尝试使用Java Apache POI读取文本Excel单元格

时间:2014-08-27 20:23:21

标签: java excel apache-poi

我试图阅读可能具有以下格式的Excel单元格:

087
098
057
044

我试图做以下事情:

workbookSheet.getRow(row).getCell(columnItemId.getIndex()).setCellType(Cell.CELL_TYPE_STRING);
String cell = workbookSheet.getRow(row).getCell(columnItemId.getIndex())
                            .getStringCellValue();

问题是我得到的数字不是零,例如87而不是087。

有没有人解决过这样的问题?

1 个答案:

答案 0 :(得分:2)

从数字单元格中检索的值是数字,double,它没有任何格式信息,例如前导零。 getStringCellValue方法会将double转换为String,但它从来没有从显示中获得前导零。

要获取表示在Excel中如何格式化单元格的字符串,可以使用Apache POI的DataFormatter类。

DataFormatter df = new DataFormatter();
String text = df.formatCellValue(cell);

根据单元格中的格式,这应该为Excel提供字符串值,因为Excel会在单元格中呈现它。