تلاعب في الجدول المحوري
سيناريوهات الاستخدام المحتملة
بالإضافة إلى إنشاء جداول محورية جديدة، يمكنك تلاعب في جداول الأوراق المحورية الجديدة والقائمة. يمكنك تغيير البيانات في نطاق المصدر لجدول الأوراق المحورية ومن ثم تحديثها وحسابها والحصول على القيم الجديدة لخلايا جدول الأوراق المحورية. يرجى استخدام الأساليب PivotTable.RefreshData() وPivotTable.CalculateData() بعد تغيير القيم في نطاق المصدر لجدول الأوراق المحورية لتحديث جدول الأوراق المحورية.
تلاعب في الجدول المحوري
يحمل الكود العينة التالي ملف إكسل عينة ويصل إلى جدول الأوراق المحورية الحالي داخل الورقة العمل الأولى. يغير قيمة الخلية B3 التي تقع داخل نطاق المصدر لجدول الأوراق المحورية ومن ثم يقوم بتحديث جدول الأوراق المحورية. قبل تحديث جدول الأوراق المحورية، يصل إلى قيمة خلية جدول الأوراق المحورية H8 التي تساوي 15 وبعد تحديث جدول الأوراق المحورية، تتغير قيمتها إلى 6. يرجى الاطلاع على ملف إكسل الناتج الذي تم إنشاؤه بهذا الكود ولقطة الشاشة التي تظهر تأثير كود العينة على ملف الإكسل العينة. يرجى أيضًا الاطلاع على إخراج الكونسول أدناه الذي يبين قيمة خلية جدول الأوراق المحورية H8 قبل وبعد تحديث جدول الأوراق المحورية.
الكود المثالي
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