تلاعب في الجدول المحوري

سيناريوهات الاستخدام المحتملة

بالإضافة إلى إنشاء جداول محورية جديدة، يمكنك تلاعب في جداول الأوراق المحورية الجديدة والقائمة. يمكنك تغيير البيانات في نطاق المصدر لجدول الأوراق المحورية ومن ثم تحديثها وحسابها والحصول على القيم الجديدة لخلايا جدول الأوراق المحورية. يرجى استخدام الأساليب PivotTable.RefreshData() وPivotTable.CalculateData() بعد تغيير القيم في نطاق المصدر لجدول الأوراق المحورية لتحديث جدول الأوراق المحورية.

تلاعب في الجدول المحوري

يحمل الكود العينة التالي ملف إكسل عينة ويصل إلى جدول الأوراق المحورية الحالي داخل الورقة العمل الأولى. يغير قيمة الخلية B3 التي تقع داخل نطاق المصدر لجدول الأوراق المحورية ومن ثم يقوم بتحديث جدول الأوراق المحورية. قبل تحديث جدول الأوراق المحورية، يصل إلى قيمة خلية جدول الأوراق المحورية H8 التي تساوي 15 وبعد تحديث جدول الأوراق المحورية، تتغير قيمتها إلى 6. يرجى الاطلاع على ملف إكسل الناتج الذي تم إنشاؤه بهذا الكود ولقطة الشاشة التي تظهر تأثير كود العينة على ملف الإكسل العينة. يرجى أيضًا الاطلاع على إخراج الكونسول أدناه الذي يبين قيمة خلية جدول الأوراق المحورية H8 قبل وبعد تحديث جدول الأوراق المحورية.

todo:image_alt_text

الكود المثالي

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

مخرجات الوحدة

أدناه إخراج الكونسول للكود العينة أعلاه عند تنفيذه مع ملف إكسل عينة المقدم.

 Before refreshing Pivot Table value of cell H8: 15

After refreshing Pivot Table value of cell H8: 6