Сортировка данных в столбце с пользовательским списком сортировки
Возможные сценарии использования
Вы можете сортировать данные в столбце, используя пользовательский список. Это можно сделать с помощью метода DataSorter.addKey. Однако этот метод работает только если элементы в пользовательском списке не содержат запятых внутри. Если есть запятые, как “USA,US”, “China,CN” и т.д., необходимо использовать метод **DataSorter.addKey(number, SortOrder, string[])**). Здесь последний параметр не строка, а массив строк.
Сортировка данных в столбце с пользовательским списком
Следующий пример кода объясняет, как использовать метод **DataSorter.addKey(number, SortOrder, string[])**) для сортировки данных с помощью пользовательского списка сортировки. Посмотрите пример файла Excel, используемый в этом коде, и выходной файл Excel, созданный им. Следующий снимок показывает эффект работы кода на примере Excel при выполнении.
Образец кода
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
const AsposeCells = require("aspose.cells.node"); | |
//Load the source Excel file | |
var wb = new AsposeCells.Workbook("sampleSortData_CustomSortList.xlsx"); | |
//Access first worksheet | |
var ws = wb.getWorksheets().get(0); | |
//Specify cell area - sort from A1 to A40 | |
var ca = AsposeCells.CellArea.createCellArea("A1", "A40"); | |
//Create Custom Sort list | |
var customSortList = ["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, AsposeCells.SortOrder.Ascending, customSortList); | |
wb.getDataSorter().sort(ws.getCells(), ca); | |
//Save the output Excel file | |
wb.save("outputSortData_CustomSortList.xlsx"); |