我正在使用一个应用程序来获取数据库记录并根据该数据创建一个excel文档。
Excel文档生成得很好,所有数据都是可读的;从该论坛的上一个答案开始,该表也已适当生成(即使我滚动到表头行,该表头行仍然可见,因此该表肯定存在)。但是,我曾希望,一旦有了表格,我就能像在excel中“插入->表格”时那样对列进行排序和过滤,但是当我打开文档时没有此类选项。] >
我在XSSFTable或XSSFTableColumn类上看不到setFitlerable或setSortable或类似的东西。如何在表列上启用排序/过滤?
如果有用,请遵循表创建代码:
//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");
我正在开发一个应用程序,该应用程序将获取数据库记录并根据该数据创建一个excel文档。 excel文档可以很好地生成,并且所有数据都是可读的;截至此的先前答案...
如果dataTable
是XSSFTable
,并且tableArea
是该AreaReference
的XSSFTable
,那么下面的代码将自动过滤器设置为表头,因为Excel
也这样做: