Ordenar datos en una columna con lista de orden personalizado
Escenarios de uso posibles
Puedes ordenar datos en la columna usando una lista personalizada. Esto se puede hacer usando el método DataSorter.addKey. Sin embargo, este método solo funciona si los elementos en la lista personalizada no contienen comas. Si contienen comas como “USA,US”, “China,CN”, entonces debes usar el método **DataSorter.addKey(number, SortOrder, string[])**). Aquí, el último parámetro no es String sino un Array de Strings.
Ordenar datos en una columna con lista de orden personalizado
El siguiente código de ejemplo explica cómo usar el método **DataSorter.addKey(number, SortOrder, string[])**) para ordenar datos con una lista de ordenamiento personalizada. Por favor, vea el archivo de Excel de ejemplo utilizado en este código y el archivo de Excel de salida generado por él. La siguiente captura de pantalla muestra el efecto del código en el archivo de Excel de muestra al ejecutarlo.
Código de muestra
//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"); |