كيف وأين تستخدم التكرارات

كيفية استخدام التكرارات

Cells التكرارات

هناك طرق مختلفة للوصول إلى مكرر الخلايا ، ويمكن للمرء استخدام أي من هذه الطرق بناءً على متطلبات التطبيق. فيما يلي الطرق التي تعيد مكرر الخلايا.

  1. Cells.iterator
  2. مؤلف الصف
  3. المدى

تعيد جميع الطرق المذكورة أعلاه المكرر الذي يسمح باجتياز مجموعة الخلايا التي تمت تهيئتها.

يوضح المثال التالي من التعليمات البرمجية تطبيق فئة Iterator لمجموعة خلايا.

صفوف مكرر

يمكن الوصول إلى مكرر الصفوف أثناء استخدام طريقة RowCollection.iterator. يوضح المثال التالي من التعليمات البرمجية تطبيق Iterator لفئة RowCollection.

الأعمدة مكرر

يمكن الوصول إلى Columns Iterator أثناء استخدام طريقة ColumnCollection.iterator. يوضح المثال التالي من التعليمات البرمجية تطبيق Iterator لفئة ColumnCollection.

أين تستخدم التكرارات

لمناقشة مزايا استخدام التكرارات ، دعنا نأخذ مثالاً في الوقت الفعلي.

سيناريو

أحد متطلبات التطبيق هو اجتياز جميع الخلايا في ورقة عمل معينة لقراءة قيمها. يمكن أن يكون هناك عدة طرق لتنفيذ هذا الهدف. يتم عرض القليل أدناه.

باستخدام نطاق العرض
استخدام MaxDataRow & MaxDataColumn

كما يمكنك ملاحظة أن كلا النهجين المذكورين أعلاه يستخدمان منطقًا متشابهًا إلى حد ما ، أي ؛ حلقة فوق جميع الخلايا في المجموعة لقراءة قيم الخلية. قد يكون هذا مشكلة لعدد من الأسباب كما هو موضح أدناه.

  1. تتطلب واجهات برمجة التطبيقات مثل MaxRow و MaxDataRow و MaxColumn و MaxDataColumn و MaxDisplayRange وقتًا إضافيًا لجمع الإحصائيات المقابلة. في حال كانت مصفوفة البيانات (الصفوف × الأعمدة) كبيرة ، فقد يؤدي استخدام واجهات برمجة التطبيقات هذه إلى فرض عقوبة على الأداء.
  2. في معظم الحالات ، لا يتم إنشاء مثيل لكافة الخلايا الموجودة في النطاق المحدد. في مثل هذه الحالات ، لا يكون التحقق من كل خلية في المصفوفة فعالاً مقارنة بفحص الخلايا التي تمت تهيئتها فقط.
  3. سيؤدي الوصول إلى خلية في حلقة مثل Cells.get (rowIndex ، columnIndex) إلى إنشاء مثيل لجميع كائنات الخلية في النطاق ، مما قد يتسبب في النهاية في حدوث OutOfMemoryError.
استنتاج

بناءً على الحقائق المذكورة أعلاه ، فيما يلي السيناريوهات المحتملة حيث يجب استخدام التكرارات.

  1. مطلوب وصول للقراءة فقط إلى مجموعة الخلايا ، أي ؛ الشرط هو فحص الخلايا فقط.
  2. يجب اجتياز عدد كبير من الخلايا.
  3. يجب اجتياز الخلايا / الصفوف / الأعمدة التي تمت تهيئتها فقط.