Когда я пишу дату с помощью POI, я также вижу время в Excel. (показанное время - это время на моей машине, когда ячейка была написана). Это код, который я использовалИспользование POI для записи даты (без времени)
XSSFCellStyle dateStyle = wb.createCellStyle();
CreationHelper createHelper = wb.getCreationHelper();
dateStyle.setDataFormat(createHelper.createDataFormat().getFormat("dd-mmm-yyyy"));
Calendar cal = Calendar.getInstance();
cal.set(xx.getYear(), xx.getMonthOfYear(), xx.getDayOfMonth());
cell.setCellStyle(dateStyle);
cell.setCellValue(cal);
даты в ячейке правильна т.е. 12-Dec-2013, но для этой ячейки в формуле бар, время также показывает. Так показывают ячейки 12-дек-2013 и шоу-бары 12-дек-2013 7:14:39 утра. Я проверил формат ячейки в excel, и он показывает как пользовательский dd-mm-yyyy, чего я ожидаю. Слишком ясно - сама ячейка показывает 12-12-2012, но для этой ячейки в баре формулы время также показывает. Я также заменил Calendar Date - той же проблемой.
Информация о добавлении: В excel я изменил формат col на 'general' - для ячеек, которые были добавлены POI, я вижу, что значения xxx.xxx похожи на 41319.3769490278, а когда я просто вводил дату вручную значение выглядит примерно как 41319. Похоже, цифры после десятичной точки заставляют время появляться. Не знаю, как избежать этого, когда я использовать POI, чтобы записать его
Формат dateStyle, который вы создали, применяется только к ячейке, когда вы делаете «cell.setCellStyle (dateStyle); Поэтому это форматирование относится только к ячейке, а не к панели формул. Я не уверен, что вы можете изменить форматирование строки формул через API POI. –