POI日期列解析

POI日期类的判定

    • 背景
    • 解决
    • 注意
    • 核心代码

背景

需求做EXCEL导入时引用POI对其进行解析、当解析EXCEL时间列(EXCEL文件中该列格式为时间)的抛出异常

解决

随即使用了HSSFDateUtil.isCellDateFormatted(cell)判断是否日期,并解析成日期类

注意

POI解析日期类时会将日期(2022-08-25)解析成数字(44798),使用HSSFDateUtil的判断日期时必须判断单元格是否数值。

核心代码

		if (Cell.CELL_TYPE_NUMERIC == cell.getCellType() && HSSFDateUtil.isCellDateFormatted(cell))
           {
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                    Date date = HSSFDateUtil.getJavaDate(cell.getNumericCellValue());
                    String dateValue = sdf.format(date);
                   
           }else {
                    cell.setCellType(Cell.CELL_TYPE_STRING);
                    String stringValue = cell.getStringCellValue();
                   
           }

你可能感兴趣的:(java)