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 :
- Sélectionnez le tableau croisé dynamique que vous souhaitez effacer.
- Cliquez sur la flèche déroulante pour le filtre que vous souhaitez ajouter dans le tableau croisé dynamique.
- Sélectionnez « Top 10 » dans le menu déroulant.
- 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 :
- Sélectionnez le tableau croisé dynamique que vous souhaitez effacer.
- Cliquez sur la flèche déroulante pour le filtre que vous souhaitez effacer dans le tableau croisé dynamique.
- Sélectionnez “Effacer le filtre” dans le menu déroulant.
- 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.
- Définir les données et créer un tableau croisé dynamique basé sur celles-ci.
- Ajouter un filtre sur le champ de ligne du tableau croisé dynamique.
- 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.
- 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"); |