有网友碰到这样的问题“POI读取excel日期的问题”。小编为您整理了以下解决方案,希望对您有帮助:
解决方案1:
Excel 是用数字存贮日期,所以会出现这样的错误,你要先在Excel里面把日期转换成文本格式,用这个公式
=text(a1,"yyyy-mm-dd")
A1就是你原来的存放地点,转换后,复制,特殊粘贴,粘贴值到原位置,删除不需要的列,再导入试试
解决方案2:
关于POI读取excel日期的问题:
1.您所读取的“33337”值,其实是Excel保存日期的一种方式(好像是以1900年1月1日为起点算的,反正是有个起点的);另外,现在POI里面也保存了Excel单元格的格式了,您可以根据这个格式来还原原来Excel里“所见即所得”的值。
解决方案3:
if(beiginCell.getCellType() == Cell.CELL_TYPE_NUMERIC){ //先判断是数字类型
if (HSSFDateUtil.isCellDateFormatted(beiginCell)) { //判断是日期类型
SimpleDateFormat dateformat = new SimpleDateFormat("yyyyMM");
Date dt = HSSFDateUtil.getJavaDate(beiginCell.getNumericCellValue());//获取成DATE类型
begin = dateformat.format(dt);
}
}