我正在尝试读取可能具有以下格式的 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。
有人解决过类似的问题吗?
最佳答案
从数字单元格中检索的值是数字,一个 double 值,它没有任何格式信息,例如前导零。 getStringCellValue
方法将 double
转换为 String
,但它从来没有显示前导零。
要获取表示 Excel 中单元格格式的字符串,您可以使用 Apache POI 的 DataFormatter
类(class)。
DataFormatter df = new DataFormatter();
String text = df.formatCellValue(cell);
这应该会根据单元格上存在的格式,为您获取 Excel 在单元格中呈现的字符串值。
关于java - 尝试使用 Java Apache POI 读取文本 Excel 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25536311/