我有一个Excel文件,其中一些列已合并,如屏幕截图所示,
我想按升序对TOP列进行排序及其对应的值,然后我将对COLUMN1, COLUMN2, Column3
进行排序,但在我想对TOP列标题进行排序之前,例如:TOP COLUMN A
应该首先是相应的Sub column
以及这六个TOP列的值。
我能够对内容区域进行排序,但我如何才能实现TOP Cols标题的排序?
答案 0 :(得分:0)
由于您要从左到右排序数据,因此需要将以下属性设置为true。
Workbook.getDataSorter().setSortLeftToRight(true);
请参阅以下代码。 第3行从左到右对数据进行排序。您也可以添加更多级别。
<强>爪哇强>
// Load your Excel file
Workbook wb = new Workbook(dirPath + "sort.xlsx");
// For the first key, we want to sort by assending order
// And we want to sort by row not by column
// using SortLeftToRight property
wb.getDataSorter().setOrder1(SortOrder.ASCENDING);
wb.getDataSorter().setSortLeftToRight(true);
// Access first worksheet
Worksheet ws = wb.getWorksheets().get(0);
// Specify the range of cells
CellArea ca = CellArea.createCellArea("A1", "I7");
// We want to sort by row 3, since index starts from 0
// So 2 means 3
wb.getDataSorter().setKey1(2);
// Sort the workbook data
wb.getDataSorter().sort(ws.getCells(), ca);
// Save the output Excel file
wb.save(dirPath + "output.xlsx");
注意: 我在Aspose担任开发人员传播者