Regrouper les champs de tableau croisé dynamique dans le tableau croisé dynamique
Scénarios d’utilisation possibles
Microsoft Excel vous permet de regrouper les champs de tableau croisé dynamique. Lorsqu’une grande quantité de données est liée à un champ de tableau croisé dynamique, il est souvent utile de les regrouper en sections. Aspose.Cells offre également cette fonctionnalité en utilisant la méthode PivotTable.setManualGroupField().
Grouper les champs du tableau croisé dynamique dans le tableau croisé dynamique
Le code d’exemple suivant charge le fichier Excel d’exemple et effectue un regroupement sur le premier champ de tableau croisé dynamique en utilisant la méthode PivotTable.setManualGroupField(). Ensuite, il actualise et calcule les données du tableau croisé dynamique et enregistre le classeur sous le nom de fichier Excel de sortie. La capture d’écran montre l’effet du code d’exemple sur le fichier Excel d’exemple. Comme vous pouvez le voir sur la capture d’écran, le premier champ de tableau croisé dynamique est maintenant regroupé par mois et trimestres.
Code d’exemple
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Load sample workbook | |
Workbook wb = new Workbook("sampleGroupPivotFieldsInPivotTable.xlsx"); | |
//Access the second worksheet | |
Worksheet ws = wb.getWorksheets().get(1); | |
//Access the pivot table | |
PivotTable pt = ws.getPivotTables().get(0); | |
//Specify the start and end date time | |
DateTime dtStart = new DateTime(2008, 1, 1);//1-Jan-2018 | |
DateTime dtEnd = new DateTime(2008, 9, 5); //5-Sep-2018 | |
//Specify the group type list, we want to group by months and quarters | |
int[] groupTypeList = new int[2]; | |
groupTypeList[0] = PivotGroupByType.MONTHS; | |
groupTypeList[1] = PivotGroupByType.QUARTERS; | |
//Apply the grouping on the pivot field | |
PivotField field = pt.getRowFields().get(0); | |
field.groupBy(dtStart, dtEnd, groupTypeList, 1, true); | |
//Refresh and calculate pivot table | |
pt.setRefreshDataFlag(true); | |
pt.refreshData(); | |
pt.calculateData(); | |
pt.setRefreshDataFlag(false); | |
//Save the output Excel file | |
wb.save("outputGroupPivotFieldsInPivotTable.xlsx"); |