تقليل وقت حساب أسلوب Cell.Calculate

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

عادةً، نوصي المستخدمين بالاتصال بالطريقة Workbook.CalculateFormula() مرة واحدة ثم الحصول على القيم المحسوبة للخلايا الفردية. ولكن في بعض الأحيان، قد لا يرغب المستخدمون في حساب الدفتر بأكمله. إنما يرغبون في حساب خلية واحدة فقط. توفر Aspose.Cells خاصية CalculationOptions.Recursive يمكنك تعيينها على false وسوف تقلل من وقت حساب الخلية الفردية بشكل كبير. لأنه عندما يكون الخاصية التكرارية مُعيَّنة إلى true، يتم إعادة حساب جميع المستندات للخلايا في كل دعوة. ولكن عندما تكون الخاصية التكرارية صفر** إذاً، يتم حساب الخلايا المعتمدة مرة واحدة فقط ولا يتم حسابها مرة أخرى في الدعوات التالية.

تخفيض وقت حساب الخلية لوسيلة (.Calculate())

يوضح الكود العيني التالي استخدام خاصية CalculationOptions.Recursive. يرجى تنفيذ هذا الكود مع ملف الإكسل العيني المُعطى والتحقق من إخراجه في وحدة التحكم. ستجد أن تعيين الخاصية التكرارية إلى false قلل من وقت الحساب بشكل كبير. يرجى أيضًا قراءة التعليقات لفهم هذه الخاصية بشكل أفضل.

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

هذا هو إخراج وحدة التحكم لكود العينة أعلاه عند تنفيذه مع ملف الإكسل العيني المُعطى على جهازنا. يُرجى ملاحظة أن الإخراج الخاص بك قد يختلف ولكن الوقت المنقضي بعد تعيين الخاصية التكرارية إلى false سيكون دائمًا أقل من تعيينها إلى true.

Recursive True: 96 seconds

Recursive False: 42 seconds