Manipolare tabella pivot

Possibili Scenari di Utilizzo

Oltre a creare nuove tabelle pivot, è possibile manipolare le nuove e esistenti tabelle pivot. È possibile modificare i dati nell’intervallo di origine della tabella pivot e quindi aggiornarli e calcolarli per ottenere i nuovi valori delle celle della tabella pivot. Si prega di utilizzare i metodi PivotTable.RefreshData() e PivotTable.CalculateData() dopo aver modificato i valori nell’intervallo di origine della tabella pivot per aggiornare la tabella pivot.

Manipolare tabella pivot

Il seguente codice di esempio carica il file Excel di esempio ed accede alla tabella pivot esistente nel suo primo foglio di lavoro. Modifica il valore della cella B3 che si trova all’interno dell’intervallo di origine della tabella pivot e quindi aggiorna la tabella pivot. Prima di aggiornare la tabella pivot, accede al valore della cella H8 della tabella pivot che è 15 e dopo l’aggiornamento della tabella pivot, il suo valore cambia in 6. Si prega di vedere il file Excel generato con questo codice e la schermata che mostra l’effetto del codice di esempio sul file Excel di esempio. Si prega inoltre di vedere l’output della console qui sotto che mostra il valore della cella della tabella pivot H8 prima e dopo l’aggiornamento della tabella pivot.

todo:image_alt_text

Codice di Esempio

Aspose::Cells::Startup();
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Source directory path
U16String dirPath(u"..\\Data\\PivotTables\\");
//Output directory path
U16String outPath(u"..\\Data\\Output\\");
//Path of input excel file
U16String sampleManipulatePivotTable = dirPath + u"sampleManipulatePivotTable.xlsx";
//Path of output excel file
U16String outputManipulatePivotTable = outPath + u"outputManipulatePivotTable.xlsx";
//Load the sample excel file
Workbook wb(sampleManipulatePivotTable);
//Access first worksheet
Worksheet ws = wb.GetWorksheets().Get(0);
//Change value of cell B3 which is inside the source data of pivot table
ws.GetCells().Get(u"B3").PutValue(u"Cup");
//Get the value of cell H8 before refreshing pivot table
U16String val = ws.GetCells().Get(u"H8").GetStringValue();
std::cout << "Before refreshing Pivot Table value of cell H8: " << val.ToUtf8() << std::endl;
//Access pivot table, refresh and calculate it
PivotTable pt = ws.GetPivotTables().Get(0);
pt.RefreshData();
pt.CalculateData();
//Get the value of cell H8 after refreshing pivot table
val = ws.GetCells().Get(u"H8").GetStringValue();
std::cout << "After refreshing Pivot Table value of cell H8: " << val.ToUtf8() << std::endl;
//Save the output excel file
wb.Save(outputManipulatePivotTable);
Aspose::Cells::Cleanup();

Output della console

Di seguito è riportato l’output della console del codice di esempio sopra quando eseguito con il file Excel di esempio fornito.

 Before refreshing Pivot Table value of cell H8: 15

After refreshing Pivot Table value of cell H8: 6