2011-01-13 3 views
1

Пожалуйста, помогите мне, как читать xls, какой файл с использованием Apache POI имеет значение ячейки в формате HH:MM:SS.HH: MM: SS xls чтение с использованием Apache POI

Я могу прочитать значение ячейки, если отметка времени в xls ячейке меньше или равно 24 часа. (например, 23:30:30).

Теперь мое требование - прочитать одно и то же значение ячейки даже больше 24 часов (например, 55:34:34) и сохранить его в базе данных.

ответ

1

Даты и время в Excel хранятся в виде чисел с плавающей запятой. Даты - дни с 1900 года (дата 1 - 01/01/1900), а времена - доли дня (так 0.5 - 12 часов).

В зависимости от того, какого формата вам нужно значение, чтобы быть в, прежде чем положить его в базе данных, то вы можете просто хотите взять числовое значение и мультипликатор на 24, чтобы получить часы и дробные часы, например:

double time = cell.getNumericCellValue() * 24; 
int hours = (int)time; 
int minutes = (time - hours) * 60; 

Альтернативно, если вы хотите строку, то класс DataFormatter с радостью будет форматировать значение 1,5 как ЧЧ: ММ до 36:00