Spécification d avertissement de tri lors du tri des données
Scénarios d’utilisation possibles
Veuillez considérer ces données textuelles, c’est-à-dire {11, 111, 22}. Ces données textuelles sont triées parce que, en termes de texte, 111 vient avant 22. Mais si vous voulez trier ces données non pas comme du texte mais comme des chiffres, alors elles deviendront {11, 22, 111} car numériquement 111 vient après 22. Aspose.Cells fournit la propriété {0} pour résoudre ce problème. Veuillez définir cette propriété à true et vos données textuelles seront triées comme des données numériques. La capture d’écran suivante montre l’avertissement de tri affiché par Microsoft Excel lorsque des données textuelles ressemblant à des données numériques sont triées.
Code d’exemple
Le code d’exemple suivant illustre l’utilisation de la propriété DataSorter.SortAsNumber comme expliqué précédemment. Veuillez consulter son fichier Excel d’exemple et son fichier Excel de sortie pour plus d’aide.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
//Create workbook. | |
Workbook workbook = new Workbook(dataDir + "sampleSortAsNumber.xlsx"); | |
//Access first worksheet. | |
Worksheet worksheet = workbook.Worksheets[0]; | |
//Create your cell area. | |
CellArea ca = CellArea.CreateCellArea("A1", "A20"); | |
//Create your sorter. | |
DataSorter sorter = workbook.DataSorter; | |
//Find the index, since we want to sort by column A, so we should know the index for sorter. | |
int idx = CellsHelper.ColumnNameToIndex("A"); | |
//Add key in sorter, it will sort in Ascending order. | |
sorter.AddKey(idx, SortOrder.Ascending); | |
sorter.SortAsNumber = true; | |
//Perform sort. | |
sorter.Sort(worksheet.Cells, ca); | |
//Save the output workbook. | |
workbook.Save(dataDir + "outputSortAsNumber.xlsx"); |