Ordenar datos en una columna con lista de orden personalizado

Escenarios de uso posibles

Puede ordenar datos en la columna usando una lista personalizada. Esto se puede hacer utilizando el método DataSorter.AddKey(int key, SortOrder order, String customList). Sin embargo, este método funciona solo si los elementos en la lista personalizada no tienen comas en su interior. Si tienen comas como “EEUU,US”, “China,CN”, etc., entonces debe utilizar el método **DataSorter.AddKey Method (Int32, 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 muestra explica cómo utilizar el método **DataSorter.AddKey Method (Int32, SortOrder,String[])**) para ordenar datos con lista de ordenación personalizada. Consulte el archivo de Excel de ejemplo utilizado en este código y el archivo de Excel generado por él. La siguiente captura de pantalla muestra el efecto del código en el archivo de Excel de ejemplo al ejecutarlo.

todo:image_alt_text

Código de muestra

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Load the source Excel file
Workbook wb = new Workbook(sourceDir + "sampleSortData_CustomSortList.xlsx");
//Access first worksheet
Worksheet ws = wb.Worksheets[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.DataSorter.AddKey(0, SortOrder.Ascending, customSortList);
wb.DataSorter.Sort(ws.Cells, ca);
//Save the output Excel file
wb.Save(outputDir + "outputSortData_CustomSortList.xlsx");