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