Я работаю над приложением, которое извлекает записи из базы данных и создает документ Excel из этих данных.
Документ Excel создается нормально, и все данные доступны для чтения; что касается предыдущего ответа с этого форума, таблица также сгенерирована соответствующим образом (строка заголовка остается видимой, даже когда я прокручивал ее, поэтому таблица определенно присутствует). Однако я ожидал, что когда у меня будет таблица, я смогу сортировать и фильтровать столбцы, как в случае «Вставить -> Таблица» в Excel, но при открытии документа таких опций нет.
Я не вижу setFitlerable или setSortable или что-то подобное в классах XSSFTable или XSSFTableColumn... Как включить сортировку/фильтрацию столбцов таблицы?
Ниже приведен код создания таблицы, если он полезен:
//Create table
CellReference topLeft = new CellReference(sheet.getRow(3).getCell(0));
CellReference bottomRight = new CellReference(sheet.getRow(nextRow-1).getCell(3));
AreaReference tableArea = workbook.getCreationHelper().createAreaReference(topLeft, bottomRight);
XSSFTable dataTable = sheet.createTable(tableArea);
dataTable.setName("TableData" + EXCEL_OBJECT_NUMBER);
dataTable.setDisplayName("TableData" + EXCEL_OBJECT_NUMBER);
XSSFTableColumn column = dataTable.getColumns().get(0);
column.setId(1);
column.setName("COLUMN1");
column = dataTable.getColumns().get(1);
column.setId(2);
column.setName("COLUMN2");
column = dataTable.getColumns().get(2);
column.setId(3);
column.setName("COLUMN3");
column = dataTable.getColumns().get(3);
column.setId(4);
column.setName("COLUMN4");