我正在尝试读取可能具有以下格式的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中单元格格式的字符串,可以使用ApachePOI的DataFormatter
类。
DataFormatter df = new DataFormatter();
String text = df.formatCellValue(cell);
这将根据单元格上的格式,在Excel在单元格中呈现字符串值时为您获取字符串值。