使用poi检查excel日期的正确性

时间:2015-07-08 06:05:11

标签: java apache-poi

我正在使用包含日期列的POI阅读Excel表格。我想检查日期的正确性,例如,如果在Excel中输入的日期是05/45/2015。现在没有一个月有45天了。我想知道有没有内置的方法。

这没有打印无效日期

if(DateUtil.isCellDateFormatted(cell))
{
      System.out.println("cell value-->"+cell.getDateCellValue());
}
else{
     System.out.println("invalid date");
 }

此代码将日期06/45/2015转换为2015年6月30日

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/YYYY");

String  s =  sdf.format(cell.getDateCellValue());
System.out.println(s);

我不想要这样的转换。

2 个答案:

答案 0 :(得分:0)

你可以SimpleDateFormat上课

 //String date = "05/45/2015";
 String date = DateFormatter.formatCellValue(cell);

 DateFormat df = new SimpleDateFormat("MM/dd/yyyy");

 try {
      Date d= df.parse(date);
      //if you didnt get any exception then date is in correct format
 }catch (Exception e) {
      //date not in correct format
      return false;
 }

答案 1 :(得分:0)

这可能会对你有所帮助。您可以尝试DateUtil.isCellDateFormatted(Cell) - 这将返回一个布尔值,告诉您单元格的格式字符串是否代表数据。