尝试使用Java Apache POI读取文本Excel单元格
我正在尝试读取可能具有以下格式的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中格式化的string,可以使用Apache POI的DataFormatter
类。
DataFormatter df = new DataFormatter(); String text = df.formatCellValue(cell);
这应该让你的string值,因为Excel呈现在单元格,根据单元格中的格式。