在包含自定义排序列表的列中排序数据

可能的使用场景

您可以使用自定义列表对列中的数据进行排序。这可以通过使用 DataSorter.AddKey(int key, SortOrder order, String customList) 方法来实现。但是,如果自定义列表中的项目内部包含逗号, 如"USA, US", “China, CN"等,则必须使用 DataSorter.AddKey(int key, SortOrder order, String customList) 方法。在这里,最后一个参数不是字符串,而是字符串数组。

使用自定义排序列表对列中的数据进行排序

以下示例代码解释了如何使用 DataSorter.AddKey(int key, SortOrder order, String[] customList) 方法使用自定义排序列表对数据进行排序。请参阅在此代码中使用的 sample Excel file 和由此生成的 output Excel file。下面的屏幕截图显示了在执行代码时对样本Excel文件产生的效果。

todo:image_alt_text

示例代码

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Load the source Excel file
Workbook wb = new Workbook(srcDir + "sampleSortData_CustomSortList.xlsx");
//Access first worksheet
Worksheet ws = wb.getWorksheets().get(0);
//Specify cell area - sort from A1 to A40
CellArea ca = CellArea.createCellArea("A1", "A40");
//Create Custom Sort list
String[] customSortList = new String[] { "USA,US", "Brazil,BR", "China,CN", "Russia,RU", "Canada,CA" };
//Add Key for Column A, Sort it in Ascending Order with Custom Sort List
wb.getDataSorter().addKey(0, SortOrder.ASCENDING, customSortList);
wb.getDataSorter().sort(ws.getCells(), ca);
//Save the output Excel file
wb.save(outDir + "outputSortData_CustomSortList.xlsx");