إنشاء جدول

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

أنماط الجدول الافتراضية

يتم إعطاء الجدول الذي تم إنشاؤه حديثًا قيمًا افتراضية مشابهة لتلك المستخدمة في Microsoft Word:

خاصية الجدول الافتراضي في Aspose.Words
Border Style Single
Border Width 1/2 pt
Border Color Black
Left and Right Padding 5.4 pts
AutoFit Mode AutoFit to Window
Allow AutoFit True

إنشاء جدول باستخدام DocumentBuilder

في Aspose.Words، يمكن للمستخدمين إنشاء جدول في مستند باستخدام DocumentBuilder. الخوارزمية الأساسية لإنشاء الجدول هي كما يلي:

  1. ابدأ الجدول باستخدام StartTable
  2. أضف خلية إلى الجدول باستخدام InsertCell – يؤدي هذا تلقائيًا إلى بدء صف جديد
  3. اختياريًا، استخدم خاصية CellFormat لتحديد تنسيق الخلية
  4. أدخل محتوى الخلية باستخدام طرق DocumentBuilder المناسبة مثل Writeln وInsertImage وغيرها
  5. كرر الخطوات من 2 إلى 4 حتى يكتمل الصف
  6. اتصل بـ EndRow لإنهاء الصف الحالي
  7. اختياريًا، استخدم خاصية RowFormat لتحديد تنسيق الصف
  8. كرر الخطوات من 2 إلى 7 حتى يكتمل الجدول
  9. اتصل بـ EndTable لإنهاء بناء الجدول

يمكن رؤية عملية إنشاء الجدول بوضوح في الصورة التالية:

creating-table-process

يوضح مثال التعليمات البرمجية التالي كيفية إنشاء جدول بسيط باستخدام DocumentBuilder بالتنسيق الافتراضي:

يوضح مثال التعليمات البرمجية التالي كيفية إنشاء جدول منسق باستخدام DocumentBuilder:

يوضح مثال التعليمات البرمجية التالي كيفية إدراج جدول متداخل باستخدام DocumentBuilder:

إنشاء جدول عبر DOM (Document Object Model)

يمكنك إدراج الجداول مباشرة في DOM عن طريق إضافة عقدة Table جديدة في موضع محدد.

يرجى ملاحظة أنه بعد إنشاء عقدة الجدول مباشرة، سيكون الجدول نفسه فارغًا تمامًا، أي أنه لا يحتوي بعد على صفوف وخلايا. لإدراج صفوف وخلايا في جدول، قم بإضافة العقد الفرعية Row وCell المناسبة إلى ملف DOM.

يوضح مثال التعليمات البرمجية التالي كيفية إنشاء جدول جديد من البداية عن طريق إضافة العقد الفرعية المناسبة إلى شجرة المستندات:

إنشاء جدول من HTML

يدعم Aspose.Words إدراج محتوى في مستند من مصدر HTML باستخدام طريقة InsertHtml. يمكن أن يكون الإدخال عبارة عن صفحة HTML كاملة أو مجرد مقتطف جزئي.

باستخدام طريقة InsertHtml، يمكن للمستخدمين إدراج الجداول في المستند عبر علامات الجدول مثل <table>، <tr>، <td>.

يوضح مثال التعليمات البرمجية التالي كيفية إدراج جدول في مستند من سلسلة تحتوي على علامات HTML:

إدراج نسخة من جدول موجود

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

يمكن استخدام نفس الأسلوب لإضافة نسخ من صف أو خلية موجودة إلى الجدول.

يوضح مثال التعليمات البرمجية التالي كيفية تكرار جدول باستخدام منشئي العقدة:

يوضح مثال التعليمات البرمجية التالي كيفية استنساخ الصف الأخير من الجدول وإلحاقه بالجدول:

إذا كنت تتطلع إلى إنشاء جداول في مستند تنمو ديناميكيًا مع كل سجل من مصدر بياناتك، فلا يُنصح باستخدام الطريقة المذكورة أعلاه. بدلاً من ذلك، يتم تحقيق الإخراج المطلوب بسهولة أكبر باستخدام Mail merge مع المناطق. يمكنك معرفة المزيد حول هذه التقنية في قسم Mail Merge مع المناطق.

قارن طرق إنشاء جدول

يوفر Aspose.Words عدة طرق لإنشاء جداول جديدة في المستند. كل طريقة لها مزاياها وعيوبها، وبالتالي فإن اختيار الطريقة التي سيتم استخدامها يعتمد غالبًا على الموقف المحدد.

دعونا نلقي نظرة فاحصة على هذه الطرق لإنشاء الجداول ومقارنة إيجابياتها وسلبياتها:

طريقة مزايا سلبيات
عبر DocumentBuilder الطريقة القياسية لإدراج الجداول ومحتويات المستندات الأخرى في بعض الأحيان يكون من الصعب إنشاء العديد من أنواع الجداول في نفس الوقت باستخدام نفس مثيل المنشئ
عبر DOM يتناسب بشكل أفضل مع التعليمات البرمجية المحيطة التي تنشئ العقد وتدرجها مباشرة في DOM دون استخدام DocumentBuilder تم إنشاء الجدول “فارغًا”: قبل تنفيذ معظم العمليات، يجب عليك الاتصال بـ EnsureMinimum لإنشاء أي عقد فرعية مفقودة
من HTML يمكن إنشاء جدول جديد من مصدر HTML باستخدام علامات مثل <table>، <tr>، <td> لا يمكن تطبيق كافة تنسيقات جدول Microsoft Word الممكنة على HTML
استنساخ جدول موجود يمكنك إنشاء نسخة من جدول موجود مع الاحتفاظ بجميع تنسيقات الصفوف والخلايا يجب إزالة العقد التابعة المناسبة قبل أن يصبح الجدول جاهزًا للاستخدام