Spécification de l'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 car, en termes de texte, 111 vient avant 22. Mais si vous voulez trier ces données non pas sous forme de texte mais sous forme de nombres, elles deviendront {11, 22, 111} car numériquement 111 vient après 22 Aspose.Cells fournitDataSorter.SortAsNumberDataSorter.SortAsNumberpropriété pour régler ce problème. Veuillez définir cette propriétévraiet vos données textuelles seront triées en tant que données numériques. La capture d’écran suivante montre l’avertissement de tri affiché par Microsoft Excel lorsque des données textuelles qui ressemblent à des données numériques sont triées.
Exemple de code
L’exemple de code suivant illustre l’utilisation deDataSorter.SortAsNumberDataSorter.SortAsNumberpropriété comme expliqué précédemment. Veuillez vérifier sonexemple de fichier Excel etfichier 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"); |