Фон:
Мне нужно экспортировать документ электронной таблицы с одним столбцом, содержащим данные в формате даты.
В настоящее время я настраиваю стиль книги следующим образом:
...
dateTimeStyle = workbook.createCellStyle();
//dateTimeStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
dateTimeStyle.setDataFormat((short)0x16);
...
и вставку данных в ячейку / настройку формата ячейки следующим образом:
...
if (Date.class.isAssignableFrom(o.getClass())) {
Calendar cal = Calendar.getInstance();
cal.setTime((Date) o);
cell.setCellStyle(dateTimeStyle);
cell.setCellValue(cal);
}
...
Примечание: Согласно документации BuiltinFormats(http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/BuiltinFormats.html) 0x16 относится к формату даты, который я пытаюсь достичь.
У меня проблема в том, что когда я открываю экспортированный документ в Microsoft Office Excel 2007, когда я прав- щелкните ячейку и выберите Форматировать ячейки ... показывает, что выбранная ячейка имеет пользовательский формат: дд / мм / гггг чч: мм
Кроме того, операции VLOOKUP не работают с колонкой (что я, по общему признанию, могу делать неправильно):
У меня такое ощущение, что это из-за неправильного понимания того, какExcel хранит и форматирует контент и будет признателен за любую предоставленную помощь.
Вопрос:
Итак, как правильно отформатировать / заполнить ячейку, чтобы Microsoft Excel обрабатывал ее как дату, а VLOOKUP работали и т. Д.?
Обновление: Если я открою полученный файл в Open Office Calc и выберу «Формат ячеек» ... формат будет корректно отображаться как «Дата».Тогда начинаю задумываться, а не связана ли это с библиотекой POI и Excel 2007 ...
Большое спасибо.