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

可能的使用场景

您可以使用自定义列表对列中的数据进行排序。这可以使用DataSorter.AddKey(int key, SortOrder order, String customList)方法。但是,只有当自定义列表中的项目内部没有逗号时,此方法才有效。如果他们有像 “USA,US”, “China,CN” 等逗号,那么你必须使用 [DataSorter.AddKey Method (Int32, SortOrder,String[]))](https://reference. aspose.com/cells/net/aspose.cells.datasorter/addkey/methods/3) 方法。在这里,最后一个参数不是字符串而是字符串数组。

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

以下示例代码解释了如何使用 [DataSorter.AddKey 方法 (Int32, SortOrder,String[]))](https://reference.aspose.com/cells/net/aspose.cells.datasorter/addkey /methods/3) 使用自定义排序列表对数据进行排序的方法。请参阅此代码中使用的示例 Excel 文件 及其生成的输出 Excel 文件。下面的屏幕截图显示了示例 Excel 文件中的代码在执行时的效果。

待办事项:图片_替代_文本

示例代码

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Load the source Excel file
Workbook wb = new Workbook(sourceDir + "sampleSortData_CustomSortList.xlsx");
//Access first worksheet
Worksheet ws = wb.Worksheets[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.DataSorter.AddKey(0, SortOrder.Ascending, customSortList);
wb.DataSorter.Sort(ws.Cells, ca);
//Save the output Excel file
wb.Save(outputDir + "outputSortData_CustomSortList.xlsx");