Specificare avviso di ordinamento durante l ordinamento dei dati
Possibili Scenari di Utilizzo
Si prega di considerare questi dati testuali, cioè {11, 111, 22}. Questi dati testuali sono ordinati perché, in termini di testo, 111 viene prima di 22. Ma, 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à {0} per gestire questo problema. Si prega di impostare questa proprietà su true e i vostri dati testuali verranno ordinati come dati numerici. La seguente schermata mostra l’avviso di ordinamento mostrato da Microsoft Excel quando i dati testuali che sembrano dati numerici vengono ordinati.
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 di esempio Excel e l' output Excel file per ulteriori informazioni.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
//Create workbook. | |
Workbook workbook = new Workbook(dataDir + "sampleSortAsNumber.xlsx"); | |
//Access first worksheet. | |
Worksheet worksheet = workbook.Worksheets[0]; | |
//Create your cell area. | |
CellArea ca = CellArea.CreateCellArea("A1", "A20"); | |
//Create your sorter. | |
DataSorter sorter = workbook.DataSorter; | |
//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.SortAsNumber = true; | |
//Perform sort. | |
sorter.Sort(worksheet.Cells, ca); | |
//Save the output workbook. | |
workbook.Save(dataDir + "outputSortAsNumber.xlsx"); |