我使用apache POI读取excel。我的excel文件中有一个日期字段,日期格式为" MM / dd / yy"。我想把所有的单元格都读成String。所以我使用" cell.setCellType(Cell.CELL_TYPE_STRING);
"将所有单元格类型设置为字符串。当此单元格转换为String时,我在日期字段中看到的值是41886.如果我遗漏了任何内容,请告诉我。
谢谢。
答案 0 :(得分:3)
字符串41886
测量相对于Excel epoch的时间。相反,请将类型保留为Cell.CELL_TYPE_NUMERIC
并使用DateUtil
,如图所示here。
if (DateUtil.isCellDateFormatted(cell)) {
System.out.print(cell.getDateCellValue());
}
答案 1 :(得分:2)
Excel中的日期存储为浮点值,表示自某个纪元日期(我认为是1900年)以来的天数(和一天的分数)。您需要将日期值作为日期读取并使用Java进行转换。
答案 2 :(得分:2)
使用方法.formatCellValue(cell)
将单元格的格式化值作为String返回此方法可以在DataFormatter
类
文档中的更多信息: