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文档)