Les formats de fichier XLSX et XLS sont fréquemment utilisés pour manipuler des données volumineuses. De même, les filtres automatiques sont utilisés pour organiser les données dans les fichiers Excel. Vous pouvez facilement ajouter ou supprimer un filtre automatique dans les fichiers Excel avec l’API Aspose.Cells for .NET. Les filtres peuvent être utilisés pour quantifier certaines données afin d’extraire des informations significatives. Par exemple, une organisation souhaite filtrer les mois où les ventes sont faibles, afin de concevoir et d’améliorer ses stratégies. Dans cet article, nous allons explorer le filtrage des données à l’aide de filtres automatiques en C# :

Ajouter ou supprimer un filtre automatique dans les fichiers Excel - Installation de l’API

L’API Aspose.Cells for .NET vous permet de travailler efficacement avec des feuilles de calcul Excel. Vous pouvez créer, modifier ou manipuler XLS, XLSX et d’autres formats pris en charge par programmation avec un minimum de code. Vous pouvez télécharger et installer le package MSI ou ZIP à partir de la section Téléchargements, ou simplement l’installer via la galerie NuGet dans votre solution. Par exemple, vous pouvez facilement l’installer dans votre environnement à l’aide de la commande suivante :

Install-Package Aspose.Cells -Version 20.9.0

Après avoir installé l’API avec succès, passons à certains des cas d’utilisation importants et utiles.

Appliquer le filtre automatique sur les cellules dans les fichiers Excel à l’aide de C#

Vous pouvez appliquer le filtre automatique sur une plage spécifique de cellules dans les fichiers Excel. Cela vous permet de trier les valeurs par ordre croissant ou décroissant ainsi que d’autres filtres numériques lorsque les cellules contiennent des valeurs numériques. Vous devez suivre les étapes suivantes pour appliquer le filtre automatique dans les fichiers Excel à l’aide de C# :

  1. Ouvrez un fichier Excel et accédez à la Worksheet
  2. Créez AutoFilter en spécifiant une plage de cellules spécifique
  3. Enregistrer le fichier de sortie XLS/XLSX

L’extrait de code montre comment appliquer le filtre automatique sur les cellules d’un fichier Excel à l’aide de C# :

// Instanciation d'un objet Workbook
// Ouverture du fichier Excel via le flux de fichiers
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(dataDir + "book1.xls");

// Accéder à la première feuille de calcul du fichier Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

// Création d'un filtre automatique en donnant la plage de cellules de la ligne d'en-tête
worksheet.AutoFilter.Range = "A1:B1";

// Enregistrement du fichier Excel modifié
workbook.Save(dataDir + "output.xlsx");

Vous pouvez remarquer le filtre automatique ajouté dans le fichier source XLSX dans la capture d’écran ci-dessous :

Filtre automatique-Excel-Csharp

Ajouter un filtre automatique de date dans XLSX à l’aide de C#

Les données des fichiers Excel contiennent souvent des informations relatives aux dates. Parfois, vous devrez peut-être explorer des informations basées sur différentes périodes de temps qui peuvent être identifiées par les dates. Par exemple, considérons le cas où nous devons filtrer les données relatives à janvier 2018, puis vous devez suivre les étapes suivantes :

  1. Charger la feuille de calcul d’entrée
  2. Accéder à une feuille de calcul
  3. Ajouter un filtre de date et enregistrer le fichier de sortie

L’exemple de code suivant suit ces étapes et montre comment ajouter un filtre automatique de date dans des fichiers Excel à l’aide de C# :

// Instanciation d'un objet Workbook
// Ouverture du fichier Excel via le flux de fichiers
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Accéder à la première feuille de calcul du fichier Excel
Worksheet worksheet = workbook.Worksheets[0];

// Appelez la fonction AddDateFilter pour appliquer le filtre
worksheet.AutoFilter.AddDateFilter(0, DateTimeGroupingType.Month, 2018, 1, 0, 0, 0, 0);

// Appelez la fonction d'actualisation pour mettre à jour la feuille de calcul
worksheet.AutoFilter.Refresh();

// Enregistrement du fichier Excel modifié
workbook.Save(dataDir + "FilteredDate.xlsx");

Ajouter un filtre automatique de date dynamique dans XLSX à l’aide de C#

Comme nous l’avons déjà évoqué, le scénario de filtrage des données en fonction des dates. Cependant, le scénario de date peut également être un peu plus générique, dans certains scénarios. Par exemple, nous avons besoin que les données soient filtrées pour le mois de janvier, quelle que soit l’année. Ces exigences peuvent facilement être gérées avec un filtre de date dynamique en suivant les étapes ci-dessous :

  1. Charger le fichier XLSX d’entrée
  2. Accéder à une feuille de calcul
  3. Définissez DynamicFilter pour le mois de janvier
  4. Enregistrer la feuille Excel de sortie

Cet exemple fait suite à l’exemple ci-dessus, où l’extrait de code ci-dessous montre comment ajouter un filtre automatique de date dynamique dans un fichier Excel à l’aide de C# :

// Instanciation d'un objet Workbook
// Ouverture du fichier Excel via le flux de fichiers
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Accéder à la première feuille de calcul du fichier Excel
Worksheet worksheet = workbook.Worksheets[0];

// Appelez la fonction DynamicFilter pour appliquer le filtre
worksheet.AutoFilter.DynamicFilter(0, DynamicFilterType.January);

// Appelez la fonction d'actualisation pour mettre à jour la feuille de calcul
worksheet.AutoFilter.Refresh();

// Enregistrement du fichier Excel modifié
workbook.Save(dataDir + "FilteredDynamicDate.xlsx");

Appliquer le filtre automatique de nombre personnalisé dans XLSX avec C#

Vous pouvez filtrer les données en fonction d’une plage de nombres personnalisée à l’aide de l’API Aspose.Cells for .NET. Par exemple, lorsqu’une entreprise doit savoir combien de ses employés ont atteint leurs objectifs de vente. De même, il pourrait y avoir beaucoup de possibilités où cette technique de filtrage peut aider. Supposons un cas où nous devons filtrer toutes les données où les nombres sont compris entre 5 et 10 inclusivement, alors vous devez suivre les étapes ci-dessous :

  1. Instanciez un objet Workbook et chargez le fichier d’entrée
  2. Ajouter un filtre numérique personnalisé dans une feuille de calcul spécifique
  3. Enregistrer le fichier Excel de sortie

Sur la base de ces étapes, le code suivant montre comment ajouter un filtre automatique de nombre personnalisé à l’aide de C# :

// Instanciation d'un objet Workbook
// Ouverture du fichier Excel via le flux de fichiers
Workbook workbook = new Workbook(dataDir + "Number.xlsx");

// Accéder à la première feuille de calcul du fichier Excel
Worksheet worksheet = workbook.Worksheets[0];

// Appelez la fonction personnalisée pour appliquer le filtre
worksheet.AutoFilter.Custom(0, FilterOperatorType.GreaterOrEqual, 5, true, FilterOperatorType.LessOrEqual, 10);

// Appelez la fonction d'actualisation pour mettre à jour la feuille de calcul
worksheet.AutoFilter.Refresh();

// Enregistrement du fichier Excel modifié
workbook.Save(dataDir + "FilteredNumber.xlsx");

Ajouter un filtre automatique personnalisé avec Contient à l’aide de C#

En allant encore plus loin que le numéro de filtre automatique personnalisé, apprenons comment ajouter un filtre automatique personnalisé qui peut être utilisé pour suivre un texte spécifique à l’aide de l’opérateur de filtre Contient. Il peut être utile de rechercher des mots où un texte est partiellement ou entièrement présent dans les données. Vous devez suivre les étapes suivantes pour atteindre ces exigences :

  1. Charger le fichier Excel d’entrée avec les données
  2. Spécifiez la plage AutoFilter et le FilterOperatorType
  3. Enregistrer le fichier XLSX de sortie

L’extrait de code ci-dessous montre comment ajouter un filtre automatique personnalisé avec Contient à l’aide de C# :

// Instanciation d'un objet Workbook contenant des exemples de données
Workbook workbook = new Workbook(dataDir + "sourseSampleCountryNames.xlsx");

// Accéder à la première feuille de calcul du fichier Excel
Worksheet worksheet = workbook.Worksheets[0];

// Création d'un filtre automatique en donnant la plage de cellules
worksheet.AutoFilter.Range = "A1:A18";

// Initialiser le filtre pour les lignes contenant la chaîne "Ba"
worksheet.AutoFilter.Custom(0, FilterOperatorType.Contains, "Ba");

//Actualisez le filtre pour afficher/masquer les lignes filtrées
worksheet.AutoFilter.Refresh();

// Enregistrement du fichier Excel modifié
workbook.Save(dataDir + "outSourseSampleCountryNames.xlsx");

Supprimer ou supprimer le filtre automatique dans Excel à l’aide de C#

Comme nous avons appris différents scénarios d’ajout de filtres automatiques dans des fichiers Excel à l’aide de C#, examinons l’inverse. Le cas d’utilisation de la suppression ou de la suppression des filtres automatiques d’Excel est tout aussi important et essentiel. Vous devez suivre les étapes ci-dessous pour supprimer tous les filtres automatiques d’un fichier XLSX :

  1. Charger le fichier XLSX d’entrée
  2. Parcourez chaque feuille de calcul et supprimez AutoFilters
  3. Enregistrer le fichier de sortie

L’extrait de code suivant montre comment supprimer les filtres automatiques des fichiers Excel à l’aide de C# :

// Instanciation d'un objet Workbook
// Ouverture du fichier Excel
Workbook workbook = new Workbook(dataDir + "output.xlsx");
// Parcourir chaque feuille de calcul
foreach (var sheet in workbook.Worksheets)
{
    // Supprimer les filtres automatiques
    sheet.RemoveAutoFilter();
}
// Enregistrer le classeur
workbook.Save(dataDir + "AutoFilter_Removed.xlsx", SaveFormat.Xlsx);

Conclusion

L’API Aspose.Cells for .NET vous offre différentes fonctionnalités prêtes à l’emploi. L’ajout, la suppression ou la suppression d’un filtre automatique à l’aide de C# dans .NET Framework est simple et facile. Nous avons discuté en détail de plusieurs possibilités. En cas de doute ou de préoccupation, n’hésitez pas à nous contacter sur Forum d’assistance gratuit.

Voir également