Filtre de tableau croisé dynamique

Scénarios d’utilisation possibles

Lorsque vous créez un tableau croisé dynamique avec des données connues et souhaitez filtrer le tableau, vous devez apprendre et utiliser le filtre. Cela peut vous aider à filtrer efficacement les données souhaitées. En utilisant l’API Aspose.Cells, vous pouvez ajouter et effacer un filtre sur les valeurs de champ dans les tableaux croisés dynamiques.

Ajouter un filtre dans un tableau croisé dynamique dans Excel

Ajoutez un filtre dans un tableau croisé dynamique dans Excel, en suivant ces étapes :

  1. Sélectionnez le tableau croisé dynamique que vous souhaitez effacer.
  2. Cliquez sur la flèche déroulante pour le filtre que vous souhaitez ajouter dans le tableau croisé dynamique.
  3. Sélectionnez « Top 10 » dans le menu déroulant.
  4. Définissez le mode d’affichage et le nombre de filtres.

Ajouter un filtre dans un tableau croisé dynamique

Veuillez consulter le code d’exemple suivant. Il défini les données et crée un tableau croisé dynamique basé sur celles-ci. Ajoute ensuite un filtre sur le champ de ligne du tableau croisé dynamique. Enfin, enregistre le classeur au format XLSX de sortie. Après avoir exécuté le code d’exemple, un tableau croisé dynamique avec filtre top10 est ajouté à la feuille de calcul.

Code d’exemple

//Instantiating an Workbook object
Workbook workbook = new Workbook();
//Obtaining the reference of the newly added worksheet
Worksheet ws = workbook.Worksheets[0];
Aspose.Cells.Cells cells = ws.Cells;
//Setting the value to the cells
Aspose.Cells.Cell cell = cells["A1"];
cell.PutValue("Fruit");
cell = cells["B1"];
cell.PutValue("Count");
cell = cells["A2"];
cell.PutValue("Apple");
cell = cells["A3"];
cell.PutValue("Mango");
cell = cells["A4"];
cell.PutValue("Blackberry");
cell = cells["A5"];
cell.PutValue("Cherry");
cell = cells["A6"];
cell.PutValue("Guava");
cell = cells["A7"];
cell.PutValue("Carambola");
cell = cells["A8"];
cell.PutValue("Banana");
cell = cells["B2"];
cell.PutValue(5);
cell = cells["B3"];
cell.PutValue(3);
cell = cells["B4"];
cell.PutValue(6);
cell = cells["B5"];
cell.PutValue(4);
cell = cells["B6"];
cell.PutValue(5);
cell = cells["B7"];
cell.PutValue(2);
cell = cells["B8"];
cell.PutValue(20);
//Adding a PivotTable to the worksheet
int i = ws.PivotTables.Add("=A1:B8", "D10", "PivotTable1");
//Accessing the instance of the newly added PivotTable
PivotTable pivotTable = ws.PivotTables[i];
pivotTable.AddFieldToArea(PivotFieldType.Row, 0);
pivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Data, "Count");
pivotTable.DataFields[0].Function = ConsolidationFunction.Sum;
PivotField field = pivotTable.RowFields[0];
field.IsAutoSort = true;
field.IsAscendSort = false;
field.AutoSortField = 0;
//Add top10 filter
PivotField filterField = pivotTable.RowFields[0];
filterField.FilterTop10(0, PivotFilterType.Count, false, 5);
pivotTable.RefreshData();
pivotTable.CalculateData();
workbook.Save("filterout.xlsx");

Effacer un filtre dans un tableau croisé dynamique dans Excel

Effacer le filtre dans le tableau croisé dynamique dans Excel, suivez ces étapes :

  1. Sélectionnez le tableau croisé dynamique que vous souhaitez effacer.
  2. Cliquez sur la flèche déroulante pour le filtre que vous souhaitez effacer dans le tableau croisé dynamique.
  3. Sélectionnez “Effacer le filtre” dans le menu déroulant.
  4. Si vous souhaitez effacer tous les filtres du tableau croisé dynamique, vous pouvez également cliquer sur le bouton “Effacer les filtres” dans l’onglet Analyser le tableau croisé dynamique dans le ruban d’Excel.

Effacer le filtre dans un tableau croisé dynamique

Effacer le filtre dans un tableau croisé dynamique en utilisant Aspose.Cells. Veuillez voir le code d’exemple suivant.

  1. Définir les données et créer un tableau croisé dynamique basé sur celles-ci.
  2. Ajouter un filtre sur le champ de ligne du tableau croisé dynamique.
  3. Enregistrer le classeur au format XLSX de sortie. Après l’exécution du code d’exemple, un tableau croisé dynamique avec un filtre top10 est ajouté à la feuille de calcul.
  4. Effacer le filtre sur un champ pivotant spécifique. Après l’exécution du code pour effacer le filtre, le filtre sur le champ pivotant spécifique sera effacé. Veuillez vérifier le XLSX de sortie.

Code d’exemple

//Instantiating an Workbook object
Workbook workbook = new Workbook();
//Obtaining the reference of the newly added worksheet
Worksheet ws = workbook.Worksheets[0];
Aspose.Cells.Cells cells = ws.Cells;
//Setting the value to the cells
Aspose.Cells.Cell cell = cells["A1"];
cell.PutValue("Fruit");
cell = cells["B1"];
cell.PutValue("Count");
cell = cells["A2"];
cell.PutValue("Apple");
cell = cells["A3"];
cell.PutValue("Mango");
cell = cells["A4"];
cell.PutValue("Blackberry");
cell = cells["A5"];
cell.PutValue("Cherry");
cell = cells["A6"];
cell.PutValue("Guava");
cell = cells["A7"];
cell.PutValue("Carambola");
cell = cells["A8"];
cell.PutValue("Banana");
cell = cells["B2"];
cell.PutValue(5);
cell = cells["B3"];
cell.PutValue(3);
cell = cells["B4"];
cell.PutValue(6);
cell = cells["B5"];
cell.PutValue(4);
cell = cells["B6"];
cell.PutValue(5);
cell = cells["B7"];
cell.PutValue(2);
cell = cells["B8"];
cell.PutValue(20);
//Adding a PivotTable to the worksheet
int i = ws.PivotTables.Add("=A1:B8", "D10", "PivotTable1");
//Accessing the instance of the newly added PivotTable
PivotTable pivotTable = ws.PivotTables[i];
pivotTable.AddFieldToArea(PivotFieldType.Row, 0);
pivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Data, "Count");
pivotTable.DataFields[0].Function = ConsolidationFunction.Sum;
PivotField field = pivotTable.RowFields[0];
field.IsAutoSort = true;
field.IsAscendSort = false;
field.AutoSortField = 0;
//Add top10 filter
PivotField filterField = pivotTable.RowFields[0];
filterField.FilterTop10(0, PivotFilterType.Count, false, 5);
pivotTable.RefreshData();
pivotTable.CalculateData();
workbook.Save("out_add.xlsx");
//Clear PivotFilter from the specific PivotField
pivotTable.PivotFilters.ClearFilter(field.BaseIndex);
pivotTable.RefreshData();
pivotTable.CalculateData();
workbook.Save("out_delete.xlsx");