Angabe von Sortierwarnungen beim Sortieren von Daten.

Mögliche Verwendungsszenarien

Bitte beachten Sie diese textuellen Daten, d.h. {11, 111, 22}. Diese textuellen Daten werden so sortiert, weil in Texten 111 vor 22 kommt. Wenn Sie jedoch diese Daten nicht als Text, sondern als Zahlen sortieren möchten, werden sie zu {11, 22, 111}, denn numerisch kommt 111 nach 22. Aspose.Cells bietet die Eigenschaft DataSorter.SortAsNumber zur Bewältigung dieses Problems an. Bitte setzen Sie diese Eigenschaft auf true und Ihre textuellen Daten werden als numerische Daten sortiert. Der folgende Screenshot zeigt die Sortierwarnung, die von Microsoft Excel angezeigt wird, wenn textuelle Daten, die wie numerische Daten aussehen, sortiert werden.

todo:image_alt_text

Beispielcode

Der folgende Beispielscode veranschaulicht die Verwendung der Eigenschaft DataSorter.SortAsNumber wie zuvor erklärt. Bitte überprüfen Sie die Beispiel-Excel-Datei und die Ausgabe-Excel-Datei 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");