POI - Как мне установить значение ячейки как Дата и применить формат даты Excel по умолчанию?

Я уже некоторое время использую Apache POI для чтения существующих файлов Excel 2003 программным способом. Теперь у меня есть новое требование - создавать целые файлы .xls в памяти (все еще используя Apache POI), а затем записывать их в файл в конце. Единственная проблема, стоящая на моем пути, - это обработка ячеек с датами.

Рассмотрим следующий код:

Date myDate = new Date();
HSSFCell myCell;
// code that assigns a cell from an HSSFSheet to 'myCell' would go here...
myCell.setCellValue(myDate);

Когда я записываю книгу, содержащую эту ячейку, в файл и открываю ее в Excel, ячейка отображается как количество. Да, я понимаю, что Excel хранит свои «даты» как количество дней с 1 января 1900 года, и это то, что представляет собой число в ячейке.

ВОПРОС: Какие вызовы API я могу использовать в POI, чтобы сообщить ему, что я хочу, чтобы к моей ячейке даты был применен формат даты по умолчанию?

В идеале я хочу, чтобы ячейка электронной таблицы отображалась с тем же форматом даты по умолчанию, который Excel назначил бы ей, если бы Пользователь вручную открыл электронную таблицу в Excel и ввел значение ячейки, которое Excel распознало как дату.

92
задан Jim Tough 26 April 2011 в 18:17
поделиться