使用Java从excel读取日期字段

使用Java从excel读取日期字段,java,excel,apache-poi,Java,Excel,Apache Poi,我正在尝试使用以下方法从java代码中的excel工作表中读取Date值: DateUtil.isCellDateFormatted(cell) 但它抛出了一个异常,表示无法读取数字字段中的文本 有什么建议吗?该DateUtil.isCellDateFormatted方法假定您已经检查过单元格是否为数值。参见代码 由于Excel在内部将日期存储为数字,请先验证单元格是否为数字,然后检查它是否为日期 然后,您可以使用以下内容或类似内容获取实际日期值: Date date = HSSFDateU

我正在尝试使用以下方法从java代码中的excel工作表中读取
Date
值:

DateUtil.isCellDateFormatted(cell) 
但它抛出了一个异常,表示
无法读取数字字段中的文本


有什么建议吗?

DateUtil.isCellDateFormatted
方法假定您已经检查过单元格是否为数值。参见代码

由于Excel在内部将日期存储为数字,请先验证单元格是否为数字,然后检查它是否为日期

然后,您可以使用以下内容或类似内容获取实际日期值:

Date date = HSSFDateUtil.getJavaDate(cell.getNumberValue()); 

DateUtil.isCellDateFormatted
方法假设您已经检查了单元格是否为数值。参见代码

由于Excel在内部将日期存储为数字,请先验证单元格是否为数字,然后检查它是否为日期

然后,您可以使用以下内容或类似内容获取实际日期值:

Date date = HSSFDateUtil.getJavaDate(cell.getNumberValue()); 

您可以使用以下方法进行检查,然后根据您的要求使用

if(cell.getCellType()==Cell.CELL_TYPE_NUMERIC){
        if (DateUtil.isCellDateFormatted(cell)) {
            System.out.println(cell.getDateCellValue());
        } else {
            System.out.println(cell.getNumericCellValue());
        }
}

您可以使用以下方法进行检查,然后根据您的要求使用

if(cell.getCellType()==Cell.CELL_TYPE_NUMERIC){
        if (DateUtil.isCellDateFormatted(cell)) {
            System.out.println(cell.getDateCellValue());
        } else {
            System.out.println(cell.getNumericCellValue());
        }
}

向我们展示一些代码/正在引发的实际异常。如果没有这些信息,就很难帮助您诊断和解决问题。
DateUtil.isCellDateFormatted(cell)
可以返回布尔值:true或false,以及如何从中查找日期。与我们共享一些代码。向我们展示一些代码/正在引发的实际异常。如果没有这些信息,就很难帮助您诊断和解决问题。
DateUtil.isCellDateFormatted(cell)
可以返回布尔值:true或false,以及如何从中查找日期。与我们分享一些代码。