Applica il filtro avanzato di Microsoft Excel per visualizzare i record che soddisfano criteri complessi con C++

Possibili Scenari di Utilizzo

Microsoft Excel ti permette di applicare Filtro Avanzato sui dati del foglio di lavoro per visualizzare record che soddisfano criteri complessi. Puoi applicare il filtro avanzato con Microsoft Excel tramite il comando Dati > Avanzate come mostrato in questo screenshot.

todo:image_alt_text

Aspose.Cells consente anche di applicare il filtro avanzato usando il metodo GetAdvancedFilter(). Come Microsoft Excel, accetta i seguenti parametri.

isFilter

Indica se filtrare l’elenco sul posto.

listRange

L’intervallo dell’elenco.

criteriaRange

L’intervallo dei criteri.

copyTo

L’intervallo in cui copiare i dati.

uniqueRecordOnly

Mostra o copia solo le righe uniche.

Applicare il filtro avanzato di Microsoft Excel per visualizzare i record che soddisfano criteri complessi

Il seguente esempio di codice applica il filtro avanzato sul File Excel di esempio e genera il File Excel di output. Lo screenshot mostra entrambi i file per confronto. Come si può vedere nello screenshot, i dati sono stati filtrati all’interno del file Excel di output secondo criteri complessi.

todo:image_alt_text

Codice di Esempio

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C

    // Source directory path
    U16String sourceDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outputDir(u"..\\Data\\02_OutputDirectory\\");

    // Load your source workbook
    Workbook workbook(sourceDir + u"sampleAdvancedFilter.xlsx");

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

    // Apply advanced filter on range A5:D19 and criteria range is A1:D2
    // Besides, we want to filter in place
    // And, we want all filtered records not just unique records
    ws.Advanced_Filter(true, u"A5:D19", u"A1:D2", u"", false);

    // Save the workbook in xlsx format
    workbook.Save(outputDir + u"outputAdvancedFilter.xlsx", SaveFormat::Xlsx);

    std::cout << "Advanced filter applied successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}