Specificare avviso di ordinamento durante l ordinamento dei dati

Possibili Scenari di Utilizzo

Si prega di considerare questi dati testuali ovvero {11, 111, 22}. Questi dati testuali sono ordinati così perché in termini di testo, 111 viene prima di 22. Tuttavia, se si desidera ordinare questi dati non come testo ma come numeri, diventeranno {11, 22, 111} perché numericamente 111 viene dopo 22. Aspose.Cells fornisce la proprietà DataSorter.SortAsNumber per gestire questo problema. Impostare questa proprietà su true e i dati testuali verranno ordinati come dati numerici. La schermata seguente mostra l’avviso di ordinamento visualizzato da Microsoft Excel quando i dati testuali che sembrano dati numerici vengono ordinati.

todo:image_alt_text

Codice di Esempio

Il seguente codice di esempio illustra l’uso della proprietà DataSorter.SortAsNumber come spiegato in precedenza. Si prega di controllare il file Excel di esempio e il file Excel di output per ulteriori informazioni.

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