Итак, я заполняю документ Excel с помощью HSSF POI Java и использую шаблон Excel, в который уже введены некоторые заголовки, например ...
HSSFWorkbook workbook = readFile(TEMPLATE_LOCATION);
И моя проблема в том, что когда я заполняю один из столбцов данными в формате даты ММ / дд / гггг, примерно так ...
row.createCell((short)column++).setCellValue(Tools.dateToString(rfq.getCreationDate()));
Он соответствующим образом заполняет столбец данными типа ....
01/01/2011
05/04/2010
03/03/2009
Ошибка в том, что когда я выполняю сортировку по этому столбцу (в Excel), используя, скажем, автофильтр-> сортировка по возрастанию, тогда он возвращает даты в неправильном порядке, как это ....
* * 01 1010/01/2011
03/03/2009
05/04/2010
(поскольку он читает это как строку и сортирует вместо сортировки по дате)
Я попытался установить столбец как «числовой» столбец, а затем отсортировать все еще без кубиков ....
cell = row.createCell((short)column++);
cell.setCellStyle(workbook.createCellStyle());
cell.getCellStyle().setAlignment(HSSFCellStyle.ALIGN_RIGHT);
cell.setCellType(cell.CELL_TYPE_NUMERIC);
cell.setCellValue(Tools.dateToString(rfq.getCreationDate()));
Также форматирование тоже не помогло ...
SimpleDateFormat formatter = new SimpleDateFormat("M/d/yyyy");
row.createCell((short)column++).setCellValue(formatter.format(order.getCreationDate()));
Это все происходит в Excel 2003. Не знаю, как решить.