2015-07-08 3 views
1

Я читаю лист Excel с помощью POI, который имеет столбец даты. Я хочу проверить правильность даты, например, если дата, введенная в excel, составляет 05/45/2015. Сейчас в нем нет 45 дней. Мне было интересно, есть ли встроенный метод.проверить правильность даты excel с помощью poi

Это не печатали неверная дата

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

Этот код конвертирует дату 06/45/2015 в 06/30/2015

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

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

Я не хочу таких переходов ,

+0

Если вы введете одну из этих недействительных дат в Excel, попробуйте отформатировать ячейку как число, а не дату, что отличает шоу для ячейки? – Gagravarr

ответ

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; 
} 
+0

Мне нужно передать cell.getDateCellValue() на дату, что невозможно, поскольку переменная date имеет тип string. Я намерен сделать следующее, если дата имеет правильный формат: «SimpleDateFormat sdf = new SimpleDateFormat (« MM/dd/YYYY »); Строка s = sdf.format (cell.getDateCellValue()); System.out.println (s); ' – coder

+0

Вы можете использовать DateFormatter.formatCellValue (ячейку), чтобы вернуть значение строки ячейки. – Garry

+0

его метод formatCellValue для определения даты не установлен для DateFormatter – coder

0

Это может помочь вам. Вы можете попробовать DateUtil.isCellDateFormatted(Cell) - это вернет логическое сообщение о том, что строка формата для ячейки представляет данные или нет.

+0

это дает мне правду, даже если дата 06/45/2015, которая мне не нужна – coder

Смежные вопросы