Daten in Spalte mit benutzerdefinierter Sortierliste sortieren.
Mögliche Verwendungsszenarien
Sie können Daten in der Spalte mit einer benutzerdefinierten Liste sortieren. Dies kann mit der Methode DataSorter.AddKey(int key, SortOrder order, String customList) getan werden. Diese Methode funktioniert jedoch nur, wenn die Elemente in der benutzerdefinierten Liste keine Kommas enthalten. Wenn sie Kommas enthalten wie “USA, US”, “China, CN” usw., müssen Sie die Methode DataSorter.AddKey(int key, SortOrder order, String customList) verwenden. Hierbei ist der letzte Parameter kein String, sondern ein Array von Strings.
Daten in Spalte mit benutzerdefinierter Sortierliste sortieren
Der folgende Beispielscode erläutert, wie die Methode DataSorter.AddKey(int key, SortOrder order, String[] customList) verwendet wird, um Daten mit einer benutzerdefinierten Sortierliste zu sortieren. Bitte beachten Sie die für diesen Code verwendete Beispiel-Excel-Datei und die von ihm generierte Ausgabe-Excel-Datei. Der folgende Screenshot zeigt die Auswirkung des Codes auf die Beispiel-Excel-Datei bei der Ausführung.
Beispielcode
// 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"); |