Сортировка данных в столбце с пользовательским списком сортировки
Возможные сценарии использования
Вы можете сортировать данные в столбце с помощью пользовательского списка. Это можно сделать с помощьюDataSorter.AddKey (ключ int, порядок SortOrder, String customList) метод. Однако этот метод работает только в том случае, если элементы в пользовательском списке не имеют внутри запятых. Если у них есть запятые, такие как «США, США», «Китай, Китай» и т. д., то вы должны использоватьDataSorter.AddKey (ключ int, порядок SortOrder, String customList) метод. Здесь последний параметр — это не строка, а массив строк.
Сортировка данных в столбце с пользовательским списком сортировки
В следующем примере кода показано, как использовать метод DataSorter.AddKey(int key, SortOrder order, String[]customList) для сортировки данных с помощью пользовательского списка сортировки. Пожалуйста, смотритеобразец файла Excelиспользуется в этом коде ивыходной файл Excelпорожденный им. На следующем снимке экрана показано влияние кода на образец файла Excel при выполнении.
Образец кода
// 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"); |