Ordinare i dati in una colonna con elenco di ordinamento personalizzato con C++

Possibili Scenari di Utilizzo

Puoi ordinare i dati nella colonna usando un elenco personalizzato. Questo può essere fatto usando il metodo DataSorter::AddKey(int key, SortOrder order, String customList). Tuttavia, questo metodo funziona solo se gli elementi nell’elenco personalizzato non contengono virgole. Se contengono virgole come “USA,US”, “Cina,CN” ecc., allora devi usare il metodo **DataSorter::AddKey Method (Int32, SortOrder, String[])**. Qui, l’ultimo parametro non è una String ma un Array di Stringhe.

Ordina dati nella colonna con elenco di ordinamenti personalizzati

Il seguente esempio di codice spiega come utilizzare il metodo **DataSorter::AddKey Method (Int32, SortOrder, String[])** per ordinare i dati con un elenco di ordinamento personalizzato. Si prega di vedere il file Excel di esempio usato in questo codice e il file Excel di output generato da esso. La seguente schermata mostra l’effetto del codice sul file Excel di esempio all’esecuzione.

todo:image_alt_text

Codice di Esempio

#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\\");

    // Load the source Excel file
    Workbook wb(srcDir + u"sampleSortData_CustomSortList.xlsx");

    // Access first worksheet
    Worksheet ws = wb.GetWorksheets().Get(0);

    // Specify cell area - sort from A1 to A40
    CellArea ca = CellArea::CreateCellArea(u"A1", u"A40");

    // Create Custom Sort list
    Vector<U16String> customSortList = { u"USA,US", u"Brazil,BR", u"China,CN", u"Russia,RU", u"Canada,CA" };

    // Add Key for Column A, Sort it in Ascending Order with Custom Sort List
    wb.GetDataSorter().AddKey(0, SortOrder::Ascending, customSortList);
    wb.GetDataSorter().Sort(ws.GetCells(), ca);

    // Save the output Excel file
    wb.Save(outDir + u"outputSortData_CustomSortList.xlsx");

    std::cout << "Data sorted successfully with custom sort list!" << std::endl;

    Aspose::Cells::Cleanup();
}