Ange sorteringsvarning vid sortering av data
Möjliga användningsscenarier
Tänk på denna textinformation, dvs. {11, 111, 22}. Den här textdatan sorteras så här eftersom 111 kommer före 22 när det gäller text. Men om du vill sortera denna data inte som text utan som siffror kommer det att bli {11, 22, 111} eftersom numeriskt 111 kommer efter 22. Aspose.Cells tillhandahållerDataSorter.SortAsNumber egendom för att hantera denna fråga. Vänligen ange denna egenskapSannoch din textdata kommer att sorteras som numerisk data. Följande skärmdump visar sorteringsvarningen som visas av Microsoft Excel när textdata som ser ut som numerisk data sorteras.
Exempelkod
Följande exempelkod illustrerar användningen avDataSorter.SortAsNumberegendom som förklarats tidigare. Vänligen kontrollera denexempel på Excel-fil ochutdata 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"); |