POI 读取 excel日期格式问题

Posted zhehang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POI 读取 excel日期格式问题相关的知识,希望对你有一定的参考价值。

private static String getValue(XSSFCell cell)
if (cell.getCellType() == XSSFCell.CELL_TYPE_BOOLEAN)
      return String.valueOf(cell.getBooleanCellValue());
else if (cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC)  
   //20180622,支持日期格式
  if(HSSFDateUtil.isCellDateFormatted(cell))
       Date d = (Date) cell.getDateCellValue();
       DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd");//HH:mm:ss
      return df2.format(d);
 
//数字
else
       //使用DecimalFormat对double进行了格式化,随后使用format方法获得的String就是你想要的值了。
      DecimalFormat df = new DecimalFormat("0");
       return String.valueOf(df.format(cell.getNumericCellValue()));

else
      return String.valueOf(cell.getStringCellValue());
   


private static String getValue(HSSFCell hssfCell)
      if (hssfCell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN)
           return String.valueOf(hssfCell.getBooleanCellValue());
      else if (hssfCell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC)
//20180622,支持日期格式
     if(HSSFDateUtil.isCellDateFormatted(hssfCell))
          Date d = (Date) hssfCell.getDateCellValue();
          DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd");//HH:mm:ss
          return df2.format(d);

//数字
     else
             //使用DecimalFormat对double进行了格式化,随后使用format方法获得的String就是你想要的值了。
              DecimalFormat df = new DecimalFormat("0");
             return String.valueOf(df.format(hssfCell.getNumericCellValue()));
     
else
       return String.valueOf(hssfCell.getStringCellValue());
   

以上是关于POI 读取 excel日期格式问题的主要内容,如果未能解决你的问题,请参考以下文章

POI对Excel自定义日期格式的读取

POI对Excel自定义日期格式的读取

POI处理Excel中各种日期格式问题

POI处理Excel中各种日期格式问题

java poi读取日期格式数据“2012-01-01 12:00:00”

POI - 如何将单元格值设置为日期并应用默认Excel日期格式?