原因:如果Excel里面有格式为:xx年xx月xx日,或者类似的中文的日期单元格,在这里进行判断:HSSFDateUtil.isCellDateFormatted(row.getCell(3)) ,返回的结果就为false
处理方式:
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
Cell cell = row.getCell(2);
if (cell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC) {
double value = cell.getNumericCellValue();
Date javaDate = DateUtil.getJavaDate(value);
Idate=sdf.format(javaDate);
}
注意:DateUtil 为org.apache.poi.ss.usermodel 包下的
*万能处理方案:
所有日期格式都可以通过getDataFormat()值来判断
yyyy-MM-dd-----14
yyyy年m月d日— 31
yyyy年m月-------57
m月d日 ----------58
HH:mm-----------20
h时mm分 -------32