Manipulera Pivot tabell

Möjliga användningsscenario

Förutom att skapa nya pivottabeller kan du manipulera nya och befintliga pivottabeller. Du kan ändra data i källområdet för pivottabellen och sedan uppdatera och beräkna det och uppnå de nya värdena för pivottabellceller. Använd PivotTable.RefreshData() och PivotTable.CalculateData() metoder efter att du har ändrat värdena i källområdet för pivottabellen för att uppdatera pivottabellen.

Manipulera Pivot-tabell

Följande exempelkod laddar den exempel excel-filen och får åtkomst till den befintliga pivottabellen i dess första arbetsblad. Den ändrar värdet på cell B3 som finns inom källområdet för pivottabell och uppdaterar sedan pivottabellen. Innan den uppdaterar pivottabellen får den tillgång till värdet för pivottabellcell H8 som är 15 och efter att ha uppdaterat pivottabellen ändras dess värde till 6. Se den utdata excel-fil som genererats med denna kod och skärmdumpen som visar effekten av exempelkoden på exempel excel-filen. Se även konsollutdata nedan som visar värdet på pivottabellcell H8 före och efter att ha uppdaterat pivottabellen.

todo:image_alt_text

Exempelkod

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();

Konsoloutput

Nedan finns konsollutdata för ovanstående exempelkod när den körs med den angivna exempel excel-filen.

 Before refreshing Pivot Table value of cell H8: 15

After refreshing Pivot Table value of cell H8: 6