2013-08-19 17 views
7

Obecnie mam mojego kodu jakoHSSF POI: Jak sprawdzić, czy w komórce znajdują się dane typu Data?

bean.setREPO_DATE(row.getCell(16).getDateCellValue()); 

to działa dobrze, jeśli komórka jest sformatowana jako data w programie Excel.

Jednak konwertuje również liczbę całkowitą lub długą jak 1234 lub 5699 do chwili obecnej. Znam przyczynę tego.

Jednak chcę zastosować czek przed wykonaniem powyższej linii. Coś takiego

if(row.getCell(16).isOfDateFormat){ 
bean.setREPO_DATE(row.getCell(16).getDateCellValue()); 
} 

proszę kierować do mnie ..

Z góry dzięki!

+0

możliwe duplikat [XSSF POI jest data komórka] (http://stackoverflow.com/questions/6677326/xssf-poi-is-cell- data) – Jayan

+0

Przepraszam za to, że tak naprawdę szukałem tego przed opublikowaniem pytania. –

+0

@ Abhishek Singh: to nie był dokładnie duplikat (chociaż mógłbyś api w tej odpowiedzi.) Usunąłem mój głos w pobliżu) – Jayan

Odpowiedz

13

Spróbuj tego,

użycie import org.apache.poi.ss.usermodel.DateUtil;

if(DateUtil.isCellDateFormatted(cell)) 
    { 
     cell.getDateCellValue(); 
    } 
+0

Dzięki temu, że pracuje dla mnie. czy możesz mi powiedzieć, jak sprawdzić, czy wartość w komórce jest procentowa czy normalna? – user3217843