Сортировка данных в столбце с пользовательским списком сортировки
Возможные сценарии использования
Вы можете сортировать данные в столбце с помощью пользовательского списка. Это можно сделать с помощью метода DataSorter.AddKey(int key, SortOrder order, String customList). Однако этот метод работает, только если элементы в пользовательском списке не содержат запятых. Если они содержат запятые, например, “USA,US”, “China,CN” и т. д., то нужно использовать **DataSorter.AddKey Method (Int32, SortOrder,String[])**) метод. Здесь последний параметр не является строкой, а массивом строк.
Сортировка данных в столбце с пользовательским списком
В следующем образце кода объясняется, как использовать метод **DataSorter.AddKey Method (Int32, SortOrder,String[])**) для сортировки данных с помощью пользовательского списка. Пожалуйста, посмотрите образец 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"); |