Apache POIdate到string问题
我正在使用apache POI阅读excel.I在我的excel文件中有一个date字段,date格式为“MM / dd / yy”。 我想读取所有的单元格作为string。 所以我通过使用“ cell.setCellType(Cell.CELL_TYPE_STRING);
”将所有单元格types设置为string。 当这个单元格被转换成string时,我看到的date字段的值是41886.请让我知道,如果我失去了什么。
谢谢。
string41886
测量相对于Excel时期的时间 。 相反,将types保留为Cell.CELL_TYPE_NUMERIC
并使用DateUtil
,如下所示。
if (DateUtil.isCellDateFormatted(cell)) { System.out.print(cell.getDateCellValue()); }
Excel中的date存储为一个浮点值,表示从某个时代(我认为它是在1900年)开始的天数(以及一小部分天数)。 您需要读取date值作为date并在Java中进行转换。
使用方法.formatCellValue(cell)
将.formatCellValue(cell)
的格式化值作为String返回,这个方法可以在DataFormatter
类中find
文档中的更多信息:
DateFormatter(POI文档)