Angeben einer Sortierwarnung beim Sortieren von Daten
Mögliche Nutzungsszenarien
Bitte beachten Sie diese Textdaten, dh {11, 111, 22}. Diese Textdaten werden so sortiert, weil 111 in Bezug auf Text vor 22 steht. Wenn Sie diese Daten jedoch nicht als Text, sondern als Zahlen sortieren möchten, werden sie zu {11, 22, 111}, weil 111 numerisch danach kommt 22. Aspose.Cells bietetDataSorter.SortAsNumber Eigenschaft, mit diesem Problem umzugehen. Bitte legen Sie diese Eigenschaft festwahrund Ihre Textdaten werden als numerische Daten sortiert. Der folgende Screenshot zeigt die Sortierwarnung, die von Microsoft Excel angezeigt wird, wenn Textdaten sortiert werden, die wie numerische Daten aussehen.
Beispielcode
Der folgende Beispielcode veranschaulicht die Verwendung vonDataSorter.SortAsNumberEigenschaft, wie zuvor erklärt. Bitte überprüfen Sie esBeispiel-Excel-Datei undExcel-Datei ausgeben für weitere Hilfe.
// 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"); |