尝试使用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中单元格格式的字符串,可以使用ApachePOI的DataFormatter类。

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

这将根据单元格上的格式,在Excel在单元格中呈现字符串值时为您获取字符串值。

最新更新