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 l’ajout et la suppression d’un filtre automatique dans les fichiers Excel
- Appliquer le filtre automatique dans les fichiers Excel à l’aide de C++
- Ajouter un filtre automatique de date dans les fichiers Excel à l’aide de C++
- Ajouter un filtre automatique de date dynamique dans un fichier Excel à l’aide de C++
- Appliquer un filtre automatique personnalisé dans les fichiers Excel à l’aide de C++
- Supprimer le filtre automatique des fichiers Excel
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.
- Tout d’abord, chargez le fichier Excel à l’aide de la classe IWorkbook.
- Récupérez la feuille de calcul où vous souhaitez appliquer le filtre automatique à l’aide de la méthode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Appliquez le filtre automatique à l’aide de IWorksheet->GetIAutoFilter()->SetRange(intrusiveptrAspose::Cells::Systems::String valeur) méthode.
- Enfin, enregistrez le fichier Excel à l’aide de IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nom_fichier) méthode.
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")));
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.
- Tout d’abord, chargez le fichier Excel à l’aide de la classe IWorkbook.
- Récupérez la feuille de calcul où vous souhaitez appliquer le filtre automatique à l’aide de la méthode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Appliquer le filtre automatique de date à l’aide de IWorksheet->GetIAutoFilter()->AddDateFilter(Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::DateTimeGroupingType dateTimeGroupingType, Aspose::Cells::Systems::Int32 year, Aspose ::Cells::Systems::Int32 month, Aspose::Cells::Systems::Int32 day, Aspose::Cells::Systems::Int32 hour, Aspose::Cells::Systems::Int32 minute, Aspose:: Cells::Systems::Int32 seconde) méthode.
- Pour mettre à jour la feuille de calcul, utilisez la méthode IWorksheet->GetIAutoFilter()->Refresh().
- Enfin, enregistrez le fichier Excel à l’aide de IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nom_fichier) méthode.
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.
- Tout d’abord, chargez le fichier Excel à l’aide de la classe IWorkbook.
- Récupérez la feuille de calcul où vous souhaitez appliquer le filtre automatique à l’aide de la méthode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Appliquez DynamicFilter à l’aide de la méthode IWorksheet->GetIAutoFilter()->DynamicFilter (Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::DynamicFilterType dynamicFilterType).
- Pour mettre à jour la feuille de calcul, utilisez la méthode IWorksheet->GetIAutoFilter()->Refresh().
- Enfin, enregistrez le fichier Excel à l’aide de IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nom_fichier) méthode.
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.
- Tout d’abord, chargez le fichier Excel à l’aide de la classe IWorkbook.
- Récupérez la feuille de calcul où vous souhaitez appliquer le filtre automatique à l’aide de la méthode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Appliquez le filtre automatique personnalisé à l’aide de IWorksheet->GetIAutoFilter()->Custom(Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::FilterOperatorType operatorType1, intrusiveptrAspose::Cells::Systems::Object critères1) méthode.
- Appelez la méthode IWorksheet->GetIAutoFilter()->Refresh() pour mettre à jour la feuille de calcul.
- Enfin, enregistrez le fichier Excel à l’aide de IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nom_fichier) méthode.
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.
- Tout d’abord, chargez le fichier Excel à l’aide de la classe IWorkbook.
- Récupérez la feuille de calcul à partir de laquelle vous souhaitez supprimer le filtre automatique à l’aide de la méthode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Supprimez AutoFilter à l’aide de la méthode IWorksheet->RemoveAutoFilter().
- Enfin, enregistrez le fichier Excel à l’aide de IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nom_fichier) méthode.
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.