Trier les données en colonne avec une liste de tri personnalisée
Scénarios d’utilisation possibles
Vous pouvez trier les données dans la colonne à l’aide d’une liste personnalisée. Cela peut être fait en utilisantDataSorter.AddKey (clé int, ordre SortOrder, chaîne customList)méthode. Cependant, cette méthode ne fonctionne que si les éléments de la liste personnalisée ne contiennent pas de virgules. S’ils ont des virgules comme “USA,US”, “China,CN”, etc., vous devez utiliser [DataSorter.AddKey Method (Int32, SortOrder,String[]))](https://reference. aspose.com/cells/net/aspose.cells.datasorter/addkey/methods/3) méthode. Ici, le dernier paramètre n’est pas une chaîne mais un tableau de chaînes.
Trier les données en colonne avec une liste de tri personnalisée
L’exemple de code suivant explique comment utiliser [DataSorter.AddKey Method (Int32, SortOrder,String[]))](https://reference.aspose.com/cells/net/aspose.cells.datasorter/addkey /methods/3) méthode pour trier les données avec une liste de tri personnalisée. Veuillez consulter le [fichier Excel d’exemple] (50528327.xlsx) utilisé dans ce code et le [fichier Excel de sortie] (50528328.xlsx) généré par celui-ci. La capture d’écran suivante montre l’effet du code sur l’exemple de fichier Excel lors de l’exécution.
Exemple de code
// 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"); |