دمج خلايا الجدول
في بعض الأحيان، تتطلب صفوف معينة في الجدول عنوانًا أو كتلًا كبيرة من النص تشغل العرض الكامل للجدول. للحصول على تصميم مناسب للجدول، يمكن للمستخدم دمج عدة خلايا في جدول واحد. يدعم Aspose.Words الخلايا المدمجة عند العمل مع جميع تنسيقات الإدخال، بما في ذلك استيراد محتوى HTML.
كيفية دمج خلايا الجدول
في Aspose.Words، يتم تمثيل الخلايا المدمجة بالخصائص التالية لفئة CellFormat:
- HorizontalMerge الذي يصف ما إذا كانت الخلية جزءًا من دمج أفقي للخلايا
- VerticalMerge الذي يصف ما إذا كانت الخلية جزءًا من دمج عمودي للخلايا
تحدد قيم هذه الخصائص سلوك دمج الخلايا:
- الخلية الأولى في سلسلة من الخلايا المدمجة سوف تحتوي على CellMerge.First
- أي خلايا مدمجة لاحقًا ستحتوي على CellMerge.Previous
- الخلية التي لم يتم دمجها سيكون لها CellMerge.None
تحقق مما إذا تم دمج الخلية
للتحقق مما إذا كانت الخلية جزءًا من سلسلة من الخلايا المدمجة، فإننا ببساطة نتحقق من خصائص HorizontalMerge وVerticalMerge.
يوضح مثال التعليمات البرمجية التالي كيفية طباعة نوع دمج الخلايا الأفقي والرأسي:
دمج خلايا الجدول عند استخدام DocumentBuilder
لدمج الخلايا في جدول تم إنشاؤه باستخدام DocumentBuilder، تحتاج إلى تعيين نوع الدمج المناسب لكل خلية حيث يتوقع الدمج - أولاً CellMerge.First ثم CellMerge.Previous.
يجب عليك أيضًا أن تتذكر مسح إعداد الدمج لتلك الخلايا التي لا يلزم فيها الدمج - يمكن القيام بذلك عن طريق تعيين أول خلية غير مدمجة على CellMerge.None. إذا لم يتم ذلك، سيتم دمج كافة الخلايا في الجدول.
يوضح مثال التعليمات البرمجية التالي كيفية إنشاء جدول يحتوي على صفين حيث يتم دمج الخلايا الموجودة في الصف الأول أفقيًا:
يوضح مثال التعليمات البرمجية التالي كيفية إنشاء جدول مكون من عمودين حيث يتم دمج الخلايا الموجودة في العمود الأول عموديًا:
دمج خلايا الجدول في حالات أخرى
في المواقف الأخرى التي لا يتم فيها استخدام DocumentBuilder، كما هو الحال في جدول موجود، قد لا يكون دمج الخلايا بالطريقة السابقة سهلاً. بدلاً من ذلك، يمكننا تغليف العمليات الأساسية المتعلقة بتطبيق خصائص الدمج على الخلايا بطريقة تجعل المهمة أسهل بكثير. تشبه هذه الطريقة طريقة الدمج التلقائي، والتي يتم استدعاؤها لدمج نطاق من الخلايا في جدول.
سيقوم الكود أدناه بدمج خلايا الجدول في النطاق المحدد، بدءًا من الخلية المحددة وانتهاءً بالخلية النهائية. في هذه الحالة، يمكن أن يمتد النطاق لعدة صفوف أو أعمدة:
يوضح مثال التعليمات البرمجية التالي كيفية دمج نطاق من الخلايا بين خليتين محددتين:
اعتمادًا على إصدار إطار العمل الذي تستخدمه، قد ترغب في تحسين هذه الطريقة عن طريق تحويلها إلى طريقة ملحقة. في هذه الحالة، يمكنك استدعاء هذه الطريقة مباشرة على خلية لدمج نطاق من الخلايا، مثل cell1.Merge(cell2)
.
تحويل إلى خلايا مدمجة أفقيا
في بعض الأحيان لا يكون من الممكن اكتشاف الخلايا التي تم دمجها لأن بعض الإصدارات الأحدث من Microsoft Word لم تعد تستخدم علامات الدمج عند دمج الخلايا أفقيًا. ولكن بالنسبة للحالات التي يتم فيها دمج الخلايا في خلية أفقيًا حسب عرضها باستخدام إشارات الدمج، توفر Aspose.Words طريقة ConvertToHorizontallyMergedCells
لتحويل الخلايا. تقوم هذه الطريقة ببساطة بتحويل الجدول وإضافة خلايا جديدة حسب الحاجة.
يوضح مثال التعليمات البرمجية التالي الطريقة المذكورة أعلاه قيد التشغيل: