Aspose Sort Cells based on Row as Key in java

Aspose Sort Cells based on Row as Key in java

我有一个 Excel 文件,其中一些列已合并,如屏幕截图所示, 我想按升序对 TOP 列及其相应的值进行排序,然后我将对 COLUMN1, COLUMN2, Column3 进行排序,但是在我想对 TOP 列 Headers 进行排序之前,例如:TOP COLUMN A 应该排在第一位,相应的 Sub column 和这六个 TOP 列的值。

我能够对内容区域进行排序,但我如何才能实现对 TOP 列的排序 Headers?

既然要从左到右对数据进行排序,需要将下面的属性设置为true。

Workbook.getDataSorter().setSortLeftToRight(true);

请看下面的代码。 它按第 3 行从左到右对数据进行排序。您也可以添加更多级别。

Java

// 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 担任开发人员布道师