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") |