Specificare avviso di ordinamento durante l ordinamento dei dati con C++
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.GetSortAsNumber() come spiegato in precedenza. Si prega di controllare il file di esempio Excel e l' output Excel file per ulteriori informazioni.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create workbook
Workbook workbook(srcDir + u"sampleSortAsNumber.xlsx");
// Access first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Create cell area
CellArea ca = CellArea::CreateCellArea(u"A1", u"A20");
// Create data sorter
DataSorter sorter = workbook.GetDataSorter();
// Find the index of column A
int idx = CellsHelper::ColumnNameToIndex(u"A");
// Add key in sorter for sorting in ascending order
sorter.AddKey(idx, SortOrder::Ascending);
sorter.SetSortAsNumber(true);
// Perform sort
sorter.Sort(worksheet.GetCells(), ca);
// Save the output workbook
workbook.Save(outDir + u"outputSortAsNumber.xlsx");
std::cout << "Sorting completed successfully!" << std::endl;
Aspose::Cells::Cleanup();
}