我试图阅读可能具有以下格式的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。
有没有人解决过这样的问题?
答案 0 :(得分:2)
从数字单元格中检索的值是数字,double
,它没有任何格式信息,例如前导零。 getStringCellValue
方法会将double
转换为String
,但它从来没有从显示中获得前导零。
要获取表示在Excel中如何格式化单元格的字符串,可以使用Apache POI的DataFormatter
类。
DataFormatter df = new DataFormatter();
String text = df.formatCellValue(cell);
根据单元格中的格式,这应该为Excel提供字符串值,因为Excel会在单元格中呈现它。