مقدمة وإنشاء الجداول
يسمح 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 |
يمكن أن يكون الجدول مضمنًا إذا كان في موضعه بإحكام، أو عائمًا إذا كان من الممكن وضعه في أي مكان على الصفحة. بشكل افتراضي، يقوم Aspose.Words دائمًا بإنشاء جداول مضمّنة.
|
إنشاء جدول باستخدام DocumentBuilder
في Aspose.Words، يمكن للمستخدمين إنشاء جدول في مستند باستخدام DocumentBuilder. الخوارزمية الأساسية لإنشاء الجدول هي كما يلي:
- ابدأ الجدول باستخدام StartTable
- أضف خلية إلى الجدول باستخدام InsertCell - يؤدي هذا تلقائيًا إلى بدء صف جديد
- اختياريًا، استخدم خاصية CellFormat لتحديد تنسيق الخلية
- أدخل محتوى الخلية باستخدام طرق DocumentBuilder المناسبة مثل Writeln وInsertImage وغيرها
- كرر الخطوات من 2 إلى 4 حتى يكتمل الصف
- اتصل بـ EndRow لإنهاء الصف الحالي
- اختياريًا، استخدم خاصية RowFormat لتحديد تنسيق الصف
- كرر الخطوات من 2 إلى 7 حتى يكتمل الجدول
- اتصل بـ EndTable لإنهاء بناء الجدول
تفاصيل مهمة:
- يمكن أيضًا استدعاء StartTable داخل الخلية، وفي هذه الحالة يبدأ إنشاء جدول متداخل داخل الخلية.
- بعد استدعاء InsertCell، يتم إنشاء خلية جديدة، وسيتم إضافة أي محتوى تضيفه باستخدام طرق أخرى لفئة DocumentBuilder إلى الخلية الحالية. لإنشاء خلية جديدة في نفس الصف، اتصل بـ InsertCell مرة أخرى.
- إذا تم استدعاء InsertCell مباشرة بعد EndRow ونهاية الصف، فسيستمر الجدول في صف جديد.
- يجب استدعاء طريقة EndTable لإنهاء الجدول مرة واحدة فقط بعد استدعاء EndRow. يؤدي استدعاء EndTable إلى نقل المؤشر من الخلية الحالية إلى الموضع الذي يقع مباشرة بعد الجدول.
يمكن رؤية عملية إنشاء الجدول بوضوح في الصورة التالية:
يوضح مثال التعليمات البرمجية التالي كيفية إنشاء جدول بسيط باستخدام DocumentBuilder بالتنسيق الافتراضي:
يوضح مثال التعليمات البرمجية التالي كيفية إنشاء جدول منسق باستخدام DocumentBuilder:
يوضح مثال التعليمات البرمجية التالي كيفية إدراج جدول متداخل باستخدام DocumentBuilder:
إنشاء جدول عبر DOM (Document Object Model)
يمكنك إدراج الجداول مباشرة في DOM عن طريق إضافة عقدة Table جديدة في موضع محدد.
يرجى ملاحظة أنه بعد إنشاء عقدة الجدول مباشرة، سيكون الجدول نفسه فارغًا تمامًا، أي أنه لا يحتوي بعد على صفوف وخلايا. لإدراج صفوف وخلايا في جدول، قم بإضافة العقد الفرعية Row وCell المناسبة إلى ملف DOM.
يوضح مثال التعليمات البرمجية التالي كيفية إنشاء جدول جديد من البداية عن طريق إضافة العقد الفرعية المناسبة إلى شجرة المستندات:
##Create جدول من HTML
يدعم Aspose.Words إدراج محتوى في مستند من مصدر HTML باستخدام طريقة InsertHtml. يمكن أن يكون الإدخال عبارة عن صفحة HTML كاملة أو مجرد مقتطف جزئي.
باستخدام طريقة InsertHtml، يمكن للمستخدمين إدراج الجداول في المستند عبر علامات الجدول مثل <table>
، <tr>
، <td>
.
يوضح مثال التعليمات البرمجية التالي كيفية إدراج جدول في مستند من سلسلة تحتوي على علامات HTML:
إدراج نسخة من جدول موجود
في كثير من الأحيان تحتاج إلى إنشاء جدول استنادًا إلى جدول موجود بالفعل في المستند. أسهل طريقة لتكرار جدول مع الاحتفاظ بجميع التنسيقات هي استنساخ عقدة الجدول باستخدام طريقة Clone.
يمكن استخدام نفس الأسلوب لإضافة نسخ من صف أو خلية موجودة إلى الجدول.
يوضح مثال التعليمات البرمجية التالي كيفية تكرار جدول باستخدام منشئي العقدة:
يوضح مثال التعليمات البرمجية التالي كيفية استنساخ الصف الأخير من الجدول وإلحاقه بالجدول:
إذا كنت تتطلع إلى إنشاء جداول في مستند تنمو ديناميكيًا مع كل سجل من مصدر بياناتك، فلا يُنصح باستخدام الطريقة المذكورة أعلاه. بدلاً من ذلك، يتم تحقيق الإخراج المطلوب بسهولة أكبر باستخدام Mail merge مع المناطق.
قارن طرق إنشاء جدول
يوفر Aspose.Words عدة طرق لإنشاء جداول جديدة في المستند. كل طريقة لها مزاياها وعيوبها، وبالتالي فإن اختيار الطريقة التي سيتم استخدامها يعتمد غالبًا على الموقف المحدد.
دعونا نلقي نظرة فاحصة على هذه الطرق لإنشاء الجداول ومقارنة إيجابياتها وسلبياتها:
طريقة | مزايا | سلبيات |
---|---|---|
عبر DocumentBuilder | الطريقة القياسية لإدراج الجداول ومحتويات المستندات الأخرى | في بعض الأحيان يكون من الصعب إنشاء العديد من أنواع الجداول في نفس الوقت باستخدام نفس مثيل المنشئ |
عبر DOM | يتناسب بشكل أفضل مع التعليمات البرمجية المحيطة التي تنشئ العقد وتدرجها مباشرة في DOM دون استخدام DocumentBuilder | تم إنشاء الجدول “فارغًا”: قبل تنفيذ معظم العمليات، يجب عليك الاتصال بـ EnsureMinimum لإنشاء أي عقد فرعية مفقودة |
من HTML | يمكن إنشاء جدول جديد من مصدر HTML باستخدام علامات مثل <table> ، <tr> ، <td> |
لا يمكن تطبيق كافة تنسيقات جدول Microsoft Word الممكنة على HTML |
استنساخ جدول موجود | يمكنك إنشاء نسخة من جدول موجود مع الاحتفاظ بجميع تنسيقات الصفوف والخلايا | يجب إزالة العقد التابعة المناسبة قبل أن يصبح الجدول جاهزًا للاستخدام |