Я использую 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 признал как дату.