Le filtrage des informations dans les feuilles de calcul Excel est une fonctionnalité importante. Il vous permet de masquer les données non pertinentes et d’afficher uniquement les données répondant à des critères spécifiques. Il peut y avoir des scénarios où le filtrage des données peut s’avérer utile. Par exemple, une organisation peut vouloir filtrer les produits peu performants du rapport de vente pour analyser et améliorer ses stratégies de vente. Dans cet article, vous apprendrez comment ajouter ou supprimer un filtre automatique dans des fichiers Excel à l’aide de C++.

API C++ pour ajouter et supprimer un filtre automatique dans les fichiers Excel

Nous utiliserons l’API Aspose.Cells for C++ pour ajouter et supprimer le filtre automatique dans les fichiers Excel. Il s’agit d’une bibliothèque C++ native qui permet de créer, lire et modifier des fichiers Excel sans nécessiter l’installation de Microsoft Excel. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section Téléchargements.

PM> Install-Package Aspose.Cells.Cpp

Appliquer le filtre automatique dans les fichiers Excel à l’aide de C++

Vous pouvez appliquer le filtre automatique sur une plage de cellules. Les filtres automatiques vous permettent de trier et de filtrer les valeurs dans la plage de cellules donnée. Voici les étapes pour ajouter un filtre automatique dans les fichiers Excel.

L’exemple de code suivant montre comment appliquer le filtre automatique à une plage de cellules dans un fichier Excel à l’aide de C++.

// Chemin du répertoire source.
StringPtr srcDir = new String("SourceDirectory\\");

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Charger le fichier Excel source
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book3.xlsx")));

// Accéder à la première feuille de calcul du fichier Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Création d'un filtre automatique en donnant la plage de cellules
worksheet->GetIAutoFilter()->SetRange(new String("A1:B1"));

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("AutoFilter_out.xlsx")));
L'image du fichier de sortie généré par l'exemple de code

L’image du fichier de sortie généré par l’exemple de code

Ajouter un filtre automatique de date dans les fichiers Excel à l’aide de C++

Les fichiers Excel peuvent contenir des données basées sur des dates. Vous pouvez vous retrouver dans des scénarios où vous devez filtrer et analyser des données en fonction de différentes dates. Par conséquent, un filtre de date s’avérera utile dans de tels scénarios. Voici les étapes pour ajouter un filtre automatique de date dans les fichiers Excel.

L’exemple de code suivant montre comment ajouter un filtre automatique de date dans des fichiers Excel à l’aide de C++.

// Chemin du répertoire source.
StringPtr srcDir = new String("SourceDirectory\\");

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Charger le fichier Excel source
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// Accéder à la première feuille de calcul du fichier Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Appelez la fonction AddDateFilter pour appliquer le filtre
worksheet->GetIAutoFilter()->AddDateFilter(0, DateTimeGroupingType_Month, 2018, 1, 1, 0, 0, 0);

// Appelez la fonction Actualiser pour mettre à jour la feuille de calcul
worksheet->GetIAutoFilter()->Refresh();

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("DateFilter_out.xlsx")));

Ajouter un filtre automatique de date dynamique dans un fichier Excel à l’aide de C++

Il peut arriver que vous ayez besoin d’un filtre de date plus générique, tel que le mois quelle que soit l’année ou le mois précédant le mois en cours. Pour des scénarios comme celui-ci, vous pouvez utiliser le filtre automatique dynamique pour filtrer les données. Voici les étapes pour filtrer les données à l’aide d’un filtre automatique de date dynamique.

L’exemple de code suivant montre comment ajouter un filtre automatique de date dynamique dans un fichier Excel à l’aide de C++.

// Chemin du répertoire source.
StringPtr srcDir = new String("SourceDirectory\\");

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Charger le fichier Excel source
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// Accéder à la première feuille de calcul du fichier Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Appelez la fonction DynamicFilter pour appliquer le filtre
worksheet->GetIAutoFilter()->DynamicFilter(0, DynamicFilterType_Februray);

// Appelez la fonction Actualiser pour mettre à jour la feuille de calcul
worksheet->GetIAutoFilter()->Refresh();

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("DynamicDateAutoFilter_out.xlsx")));

Appliquer un filtre automatique personnalisé dans les fichiers Excel à l’aide de C++

Si vous souhaitez appliquer un filtre automatique personnalisé, l’API Aspose.Cells for C++ vous couvre. À l’aide de l’API, vous pouvez appliquer un filtre automatique personnalisé dans les fichiers Excel en fonction de vos besoins spécifiques. Voici les étapes pour ajouter un filtre automatique personnalisé dans les fichiers Excel.

L’exemple de code suivant montre comment ajouter un filtre automatique personnalisé dans des fichiers Excel à l’aide de C++.

// Chemin du répertoire source.
StringPtr srcDir = new String("SourceDirectory\\");

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Charger le fichier Excel source
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleCountryNames.xlsx")));

// Accéder à la première feuille de calcul du fichier Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Appelez la fonction personnalisée pour appliquer le filtre
worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil"));

// Appelez la fonction Actualiser pour mettre à jour la feuille de calcul
worksheet->GetIAutoFilter()->Refresh();

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));

Supprimer le filtre automatique des fichiers Excel

Dans les sections précédentes, vous avez appris à ajouter différents filtres automatiques dans des fichiers Excel. En plus d’ajouter des filtres automatiques, vous pouvez également les supprimer à l’aide de l’API Aspose.Cells for C++. Voici les étapes pour supprimer les filtres automatiques des fichiers Excel.

L’exemple de code suivant montre comment supprimer le filtre automatique d’un fichier Excel à l’aide de C++.

// Chemin du répertoire source.
StringPtr srcDir = new String("SourceDirectory\\");

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Charger le fichier Excel source
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleAutoFilter.xlsx")));

// Accéder à la première feuille de calcul du fichier Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Supprimer les filtres automatiques
worksheet->RemoveAutoFilter();

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à ajouter et à supprimer des filtres automatiques dans des fichiers Excel à l’aide de C++. Plus précisément, vous avez appris à ajouter des filtres automatiques par défaut, date, date dynamique et personnalisés. Vous avez également vu comment supprimer AutoFilter en utilisant Aspose.Cells for C++. L’API fournit de nombreuses fonctionnalités supplémentaires pour travailler avec des fichiers Excel. Vous pouvez explorer l’API en détail en visitant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également