تحليل السجلات المخزنة في حقول Pivot أثناء تحميل ملف Excel

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

عند إنشاء جدول محوري، تقوم Microsoft Excel بنسخ البيانات المصدرية وتخزينها في ذاكرة التخزين المؤقت. تكون ذاكرة التخزين المؤقت موجودة داخل ذاكرة Microsoft Excel. لا يمكنك رؤيتها ولكن هذه هي البيانات التي يشير إليها الجدول المحوري عند بناء الجدول المحوري أو تغيير اختيار Slicer أو تحريك الصفوف/الأعمدة. يمكن لذلك Microsoft Excel أن يكون متجاوبًا جدًا مع التغييرات في الجدول المحوري ولكن يمكنه أيضًا مضاعفة حجم ملفك. بعد كل شيء، ذاكرة التخزين المؤقت مجرد نسخة مكررة من بياناتك المصدرية لذا يبدو منطقيًا أن يكون حجم ملفك مضاعف بشكل محتمل.

عند تحميل ملف Excel داخل كائن الورقة، يمكنك أن تقرر ما إذا كنت تريد أيضًا تحميل السجلات في ذاكرة التخزين المؤقت المحوري أم لا، باستخدام خاصية (LoadOptions.ParsingPivotCachedRecords). القيمة الافتراضية لهذه الخاصية هي false. إذا كانت ذاكرة التخزين المؤقت كبيرة بما فيه الكفاية، فقد يزيد ذلك من الأداء. ولكن إذا كنت أيضًا تريد تحميل السجلات في ذاكرة التخزين المؤقت، يجب عليك ضبط هذه الخاصية على true.

تحليل السجلات المخزنة في حقول Pivot أثناء تحميل ملف Excel

الكود عينة التالي يشرح استخدام خاصية (LoadOptions.ParsingPivotCachedRecords). يقوم بتحميل ملف Excel العيني (61767786.xlsx) أثناء تحليل السجلات المخزنة في حقول Pivot. ثم يقوم بتحديث الجدول المحوري وحفظه كملف Excel الناتج (61767785.xlsx).

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

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Create load options
LoadOptions options = new LoadOptions();
//Set ParsingPivotCachedRecords true, default value is false
options.setParsingPivotCachedRecords(true);
//Load the sample Excel file containing pivot table cached records
Workbook wb = new Workbook("sampleParsingPivotCachedRecordsWhileLoadingExcelFile.xlsx", options);
//Access first worksheet
Worksheet ws = wb.getWorksheets().get(0);
//Access first pivot table
PivotTable pt = ws.getPivotTables().get(0);
//Set refresh data flag true
pt.setRefreshDataFlag(true);
//Refresh and calculate pivot table
pt.refreshData();
pt.calculateData();
//Set refresh data flag false
pt.setRefreshDataFlag(false);
//Save the output Excel file
wb.save("outputParsingPivotCachedRecordsWhileLoadingExcelFile.xlsx");