Ajouter un filtre dans un tableau croisé dynamique

Scénarios d’utilisation possibles

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

Ajouter un filtre dans un tableau croisé dynamique en utilisant la bibliothèque Excel Aspose.Cells pour Python

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

from aspose.cells import ConsolidationFunction, Workbook
from aspose.cells.pivot import PivotFieldType, PivotFilterType
# Instantiating an Workbook object
workbook = Workbook()
# Obtaining the reference of the newly added worksheet
ws = workbook.worksheets[0]
cells = ws.cells
# Setting the value to the cells
cell = cells.get("A1")
cell.put_value("Fruit")
cell = cells.get("B1")
cell.put_value("Count")
cell = cells.get("A2")
cell.put_value("Apple")
cell = cells.get("A3")
cell.put_value("Mango")
cell = cells.get("A4")
cell.put_value("Blackberry")
cell = cells.get("A5")
cell.put_value("Cherry")
cell = cells.get("A6")
cell.put_value("Guava")
cell = cells.get("A7")
cell.put_value("Carambola")
cell = cells.get("A8")
cell.put_value("Banana")
cell = cells.get("B2")
cell.put_value(5)
cell = cells.get("B3")
cell.put_value(3)
cell = cells.get("B4")
cell.put_value(6)
cell = cells.get("B5")
cell.put_value(4)
cell = cells.get("B6")
cell.put_value(5)
cell = cells.get("B7")
cell.put_value(2)
cell = cells.get("B8")
cell.put_value(20)
# Adding a PivotTable to the worksheet
i = ws.pivot_tables.add("=A1:B8", "D10", "PivotTable1")
# Accessing the instance of the newly added PivotTable
pivotTable = ws.pivot_tables[i]
pivotTable.add_field_to_area(PivotFieldType.ROW, 0)
pivotTable.add_field_to_area(PivotFieldType.DATA, "Count")
pivotTable.data_fields[0].function = ConsolidationFunction.SUM
field = pivotTable.row_fields[0]
field.is_auto_sort = True
field.is_ascend_sort = False
field.auto_sort_field = 0
# Add top10 filter
index = pivotTable.pivot_filters.add(0, PivotFilterType.COUNT)
filter = pivotTable.pivot_filters[index]
filter.auto_filter.filter_top10(0, True, False, 5)
pivotTable.refresh_data()
pivotTable.calculate_data()
workbook.save("out.xlsx")