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.
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