Créer un tableau croisé dynamique
Créer un tableau croisé dynamique
Créer une table pivot avec Aspose.Cells
Avec Aspose.Cells, il est possible d’ajouter des tables pivot aux feuilles de calcul. Aspose.Cells dispose d’un certain nombre de classes spéciales utilisées spécifiquement pour créer et contrôler les tables pivot. Ces classes sont utilisées pour créer et définir les propriétés d’un objet PivotTable, utilisé comme les blocs de construction de la table pivot.
Les objets de table pivot sont :
- PivotField : il représente un champ dans une table pivot.
- PivotFieldCollection : il représente une collection de tous les objets PivotField dans la table pivot.
- PivotTable : il représente une table pivot.
- PivotTableCollection : il représente la collection de tous les objets de table pivot sur la feuille de travail.
Créer une table pivot simple
Pour créer une table pivot à l’aide d’Aspose.Cells, veuillez suivre les étapes ci-dessous :
- Ajoutez des données aux cellules de la feuille de calcul en utilisant la méthode setValue de l’objet Cell. Ces données seront utilisées comme source de données pour la table pivot.
- Ajoutez une table pivot à la feuille de calcul en appelant la méthode add de la classe PivotTableCollection, encapsulée dans l’objet Worksheet.
- Accédez à l’objet PivotTable à partir de PivotTableCollection en passant l’index PivotTable.
- Utilisez l’un quelconque des objets de table pivot (expliqués ci-dessus) encapsulés dans l’objet PivotTable pour gérer la table pivot.
L’exemple de code ci-dessous montre comment créer une table pivot simple en suivant les étapes de base décrites ci-dessus. Lors de l’exécution du code, une table pivot est ajoutée à la feuille de calcul :
Création d’un tableau croisé dynamique basé sur un champ correspondant
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the resource directory | |
String dataDir = Utils.getSharedDataDir(CreatePivotTable.class) + "PivotTables/"; | |
//Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
//Obtaining the reference of the newly added worksheet | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet sheet = workbook.getWorksheets().get(sheetIndex); | |
Cells cells = sheet.getCells(); | |
//Setting the value to the cells | |
Cell cell = cells.get("A1"); | |
cell.setValue("Sport"); | |
cell = cells.get("B1"); | |
cell.setValue("Quarter"); | |
cell = cells.get("C1"); | |
cell.setValue("Sales"); | |
cell = cells.get("A2"); | |
cell.setValue("Golf"); | |
cell = cells.get("A3"); | |
cell.setValue("Golf"); | |
cell = cells.get("A4"); | |
cell.setValue("Tennis"); | |
cell = cells.get("A5"); | |
cell.setValue("Tennis"); | |
cell = cells.get("A6"); | |
cell.setValue("Tennis"); | |
cell = cells.get("A7"); | |
cell.setValue("Tennis"); | |
cell = cells.get("A8"); | |
cell.setValue("Golf"); | |
cell = cells.get("B2"); | |
cell.setValue("Qtr3"); | |
cell = cells.get("B3"); | |
cell.setValue("Qtr4"); | |
cell = cells.get("B4"); | |
cell.setValue("Qtr3"); | |
cell = cells.get("B5"); | |
cell.setValue("Qtr4"); | |
cell = cells.get("B6"); | |
cell.setValue("Qtr3"); | |
cell = cells.get("B7"); | |
cell.setValue("Qtr4"); | |
cell = cells.get("B8"); | |
cell.setValue("Qtr3"); | |
cell = cells.get("C2"); | |
cell.setValue(1500); | |
cell = cells.get("C3"); | |
cell.setValue(2000); | |
cell = cells.get("C4"); | |
cell.setValue(600); | |
cell = cells.get("C5"); | |
cell.setValue(1500); | |
cell = cells.get("C6"); | |
cell.setValue(4070); | |
cell = cells.get("C7"); | |
cell.setValue(5000); | |
cell = cells.get("C8"); | |
cell.setValue(6430); | |
PivotTableCollection pivotTables = sheet.getPivotTables(); | |
//Adding a PivotTable to the worksheet | |
int index = pivotTables.add("=A1:C8", "E3", "PivotTable2"); | |
//Accessing the instance of the newly added PivotTable | |
PivotTable pivotTable = pivotTables.get(index); | |
//Unshowing grand totals for rows. | |
pivotTable.setRowGrand(false); | |
//Dragging the first field to the row area. | |
pivotTable.addFieldToArea(PivotFieldType.ROW, 0); | |
//Dragging the second field to the column area. | |
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1); | |
//Dragging the third field to the data area. | |
pivotTable.addFieldToArea(PivotFieldType.DATA, 2); | |
//Saving the Excel file | |
workbook.save(dataDir + "CreatePivotTable_out.xls"); |