Apache POI日期dd.MM.yyyy

时间:2011-06-24 12:24:55

标签: java apache-poi

我使用apache poi 3.7以正确的格式获取日期时遇到问题 根据文档,我必须使用DataFormatter中的formatCellValue方法。 在这里,我找到了一些建议相同的答案,但它不起作用。

excel字段以dd.MM.yyyy格式显示日期:例如:09.06.2010

使用formatCellValue(Cell cell)后,我得到9/6/10。 我尝试使用和不使用Local.German或Local.German的DataFormatter和HSSFDataFormatter

这是我的代码:

if( DateUtil.isCellDateFormatted(cell))
{
    HSSFDataFormatter formatter = new HSSFDataFormatter(Locale.GERMAN);
    String temp = formatter.formatCellValue(cell);
    System.out.println(temp);
}

有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

我不确定,但我认为问题可能是您已覆盖其中一种默认日期格式的格式字符串。

这仅在POI 3.8 beta 1中修复(请参阅changelog),因此我建议您尝试升级到3.8 beta3,它有望解决您的问题。以前POI只是假设默认格式不会被更改,所以会使用默认格式字符串。