【问题标题】:Apache POI Date to String issueApache POI 日期到字符串问题
【发布时间】:2014-11-07 04:07:40
【问题描述】:
我正在使用 apache POI 读取 excel。我的 excel 文件中有一个日期字段,日期格式为“MM/dd/yy”。我想将所有单元格读取为字符串。所以我使用“cell.setCellType(Cell.CELL_TYPE_STRING);”将所有单元格类型设置为字符串。当此单元格转换为字符串时,我看到的日期字段值为 41886。如果我遗漏任何内容,请告诉我。
谢谢。
【问题讨论】:
标签:
java
string
excel
date
apache-poi
【解决方案1】:
字符串41886 测量相对于Excel epoch 的时间。相反,将类型保留为Cell.CELL_TYPE_NUMERIC 并使用DateUtil,如here 所示。
if (DateUtil.isCellDateFormatted(cell)) {
System.out.print(cell.getDateCellValue());
}
【解决方案3】:
Excel 中的日期存储为浮点值,表示自某个纪元日期(我认为是 1900 年)以来的天数(和天数的小数)。您需要将日期值读取为日期并在 Java 中进行转换。