Specificera sorteringsvarning vid sortering av data

Möjliga användningsscenario

Vänligen beakta denna textdata dvs. {11, 111, 22}. Denna textdata sorteras så här eftersom i text 111 kommer före 22. Men om du vill sortera dessa data inte som text utan som nummer, kommer det att bli {11, 22, 111} eftersom numeriskt kommer 111 efter 22. Aspose.Cells tillhandahåller DataSorter.SortAsNumber egenskapen för att hantera detta problem. Vänligen sätt denna egenskap true och din textdata kommer att sorteras som numeriska data. Följande skärmdump visar sorteringsvarningen som visas av Microsoft Excel när textdata som ser ut som numeriska data sorteras.

todo:image_alt_text

Exempelkod

Följande provkod illustrerar användningen av DataSorter.SortAsNumber egenskapen som förklarats tidigare. Vänligen kontrollera dess prov Excel-fil och utdata Excel-fil för mer hjälp.

// 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");