Använd Microsoft Excels avancerade filter för att visa poster som uppfyller komplexa kriterier med C++

Möjliga användningsscenario

Microsoft Excel tillåter att du tillämpar Advanced Filter på arbetsbladets data för att visa poster som möter komplexa kriterier. Du kan tillämpa avancerad filter med Microsoft Excel via dess Data > Advanced kommando som visas i denna skärmskärm.

todo:image_alt_text

Aspose.Cells tillåter också att du använder det avancerade filtret med hjälp av GetAdvancedFilter()-metoden. Precis som i Microsoft Excel accepterar den följande parametrar.

isFilter

Anger om filtreringen av listan på plats.

listRange

Listan intervall.

criteriaRange

Kriterieintervallet.

copyTo

Intervallet där data kopieras till.

uniqueRecordOnly

Endast visa eller kopiera unika rader.

Tillämpa Avancerat Filter i Microsoft Excel för att Visa Poster som Uppfyller Komplexa Kriterier

Följande kodexempel använder det avancerade filtret på Exempelfilen Excel och genererar Utdata Excel-fil. Skärmbilden visar båda filerna för jämförelse. Som du kan se i skärmbilden, har data filtrerats i utdata Excel-filen enligt komplexa kriterier.

todo:image_alt_text

Exempelkod

#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();
}