ЧЧ: ММ: чтение SS xls с использованием Apache POI - PullRequest
1 голос
/ 13 января 2011

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

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

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

1 Ответ

1 голос
/ 31 марта 2011

Даты и время в 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

...