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 de cette manière car en termes de texte, 111 vient avant 22. Mais, si vous voulez trier ces données non pas comme du texte mais comme des nombres, alors cela deviendra {11, 22, 111} car numériquement 111 vient après 22. Aspose.Cells fournit la propriété DataSorter.SortAsNumber pour traiter ce problème. Veuillez définir cette propriété sur 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 qui ressemblent à 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 vérifier 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-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SpecifyingSortWarningWhileSortingData.class) + "data/"; | |
// Create workbook. | |
Workbook workbook = new Workbook(dataDir + "sampleSortAsNumber.xlsx"); | |
// Access first worksheet. | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Create your cell area. | |
CellArea ca = CellArea.createCellArea("A1", "A20"); | |
// Create your sorter. | |
DataSorter sorter = workbook.getDataSorter(); | |
// 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.setSortAsNumber(true); | |
// Perform sort. | |
sorter.sort(worksheet.getCells(), ca); | |
// Save the output workbook. | |
workbook.save(dataDir + "outputSortAsNumber.xlsx"); |