Odczyt wartości czasu z arkusza kalkulacyjnego za pomocą poi api
Próbuję odczytać kolumnę daty i kolumnę czasu z arkusza kalkulacyjnego. Jestem w stanie wycofać kolumnę daty z arkusza, ale nie kolumnę czasu.
Na przykład mój arkusz będzie miał wiersze formularza:
data daty11/2/2012 12:15:01
Mam następujący kod, aby uzyskać kolumnę daty:
while(cellIterator.hasNext()) {
HSSFCell cell = (HSSFCell)cellIterator.next();
switch(cell.getCellType()){
case HSSFCell.CELL_TYPE_NUMERIC:
HSSFCellStyle style = cell.getCellStyle();
if (HSSFDateUtil.isCellDateFormatted(cell))
{
d = (Date)getDateValue(cell);
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
System.out.println(dateFormat.format(d));
}
}
}
protected static Object getDateValue(HSSFCell cellDate)
{
double numericDateValue = cellDate.getNumericCellValue();
Date date = HSSFDateUtil.getJavaDate(numericDateValue);
return date;
}
Jak widać, używam
HSSFDateUtil.isCellDateFormatted (komórka)
sprawdzić, czy komórka ma w sobie wartość daty. Chcę wiedzieć, czy mogę sprawdzić, czy komórka ma wartość czasu przy użyciu dowolnej funkcji.
Arkusz programu Excel pochodzi z zewnętrznego źródła. Nie będę więc mógł dokonywać żadnych modyfikacji formatu.
W tej chwili otrzymuję prawidłowe wartości daty dla kolumn daty. Ale dla kolumn czasowych dostaję
12/31/1899
jako wynik dla wszystkich wierszy