Ordina i dati in una colonna con un elenco di ordinamento personalizzato
Possibili Scenari di Utilizzo
Puoi ordinare i dati nella colonna utilizzando un elenco personalizzato. Ciò può essere fatto utilizzando il metodo DataSorter.AddKey(int key, SortOrder order, String customList). Tuttavia, questo metodo funziona solo se gli elementi nell’elenco personalizzato non contengono virgole al loro interno. Se contengono virgole come “USA, US”, “Cina, CN” ecc., allora è necessario utilizzare il metodo DataSorter.AddKey(int key, SortOrder order, String customList). Qui, l’ultimo parametro non è una Stringa ma un Array di Stringhe.
Ordina dati nella colonna con elenco di ordinamenti personalizzati
Il seguente codice di esempio spiega come utilizzare il metodo DataSorter.AddKey(int key, SortOrder order, String[] customList) per ordinare i dati con un elenco di ordinamento personalizzato. Consultare il file Excel di esempio utilizzato in questo codice e il file Excel di output generato da esso. La schermata seguente mostra l’effetto del codice sul file Excel di esempio in esecuzione.
Codice di Esempio
// 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"); |