Appliquer le filtre avancé de Microsoft Excel pour afficher les enregistrements répondant à des critères complexes avec C++
Scénarios d’utilisation possibles
Microsoft Excel vous permet d’appliquer le Filtre avancé sur les données de la feuille pour afficher les enregistrements répondant à des critères complexes. Vous pouvez appliquer le filtre avancé via la commande Données > Avancé comme montré dans cette capture d’écran.
Aspose.Cells vous permet également d’appliquer le filtre avancé en utilisant la méthode GetAdvancedFilter(). Tout comme Microsoft Excel, elle accepte les paramètres suivants.
isFilter
Indique s’il y a filtrage de la liste sur place.
plageListe
La plage de liste.
criteriaRange
La plage de critères.
copyTo
La plage où copier les données.
uniqueRecordOnly
Afficher ou copier uniquement les lignes uniques.
Appliquer un filtre avancé de Microsoft Excel pour afficher les enregistrements répondant à des critères complexes
Le code exemple suivant applique le filtre avancé sur le Fichier Excel d’exemple et génère le Fichier Excel de sortie. La capture d’écran montre les deux fichiers pour comparaison. Comme vous pouvez le voir dans la capture, les données ont été filtrées dans le fichier Excel de sortie selon des critères complexes.
Code d’exemple
#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();
}