الحصول على وتعيين نمط للخلايا باستخدام C++

تنسيق الخلايا

هناك طريقتان لتنسيق الخلية، كما هو موضح أدناه.

استخدام GetStyle()

باستخدام قطعة الكود التالية، يتم تهيئة كائن Style لكل خلية عند تنسيقها. إذا تم تنسيق العديد من الخلايا، يتم استهلاك كمية كبيرة من الذاكرة لأن كائن Style هو كائن كبير. لن يتم تحرير هذه الكائنات Style حتى يتم استدعاء طريقة Workbook.Save.

C++

cell.GetStyle()->GetFont()->SetIsBold(true);

استخدام SetStyle()

النهج الأول سهل ومباشر، فلماذا أضفنا النهج الثاني؟

أضفنا النهج الثاني لتحسين استهلاك الذاكرة. بعد استخدام طريقة Cell.GetStyle لاسترداد كائن Style، قم بتعديله واستخدم طريقة Cell.SetStyle لإعادة تعيينه إلى هذه الخلية. لن يتم الحفاظ على كائن Style هذا، وسيقوم بيئة التشغيل C++ بجمعه عندما لا يعود مرجعًا إليه.

عند استدعاء طريقة Cell.SetStyle، لا يتم حفظ كائن Style لكل خلية. بدلاً من ذلك، نقارن هذا الكائن مع مخزن كائنات Style داخلي لنرى إذا كان يمكن إعادة استخدامه. فقط الكائنات Style التي تختلف عن الموجودة تُحتفظ بها لكل كائن Workbook. هذا يعني أن هناك عدة مئات فقط من كائنات Style لكل ملف إكسل بدلاً من الآلاف. لكل خلية، يُحفظ فقط مؤشر على مخزن كائن Style.

C++

auto style = cell.GetStyle();
style->GetFont()->SetIsBold(true);
cell.SetStyle(style);

مواضيع متقدمة