إنشاء الجدول
Aspose.Words ويسمح للمستعملين بوضع جداول في وثيقة من الصفر، ويوفرون عدة أساليب مختلفة للقيام بذلك. وتعرض هذه المادة تفاصيل عن كيفية إضافة جداول مصاغة إلى وثيقتكم باستخدام كل طريقة، وكذلك مقارنة لكل طريقة في نهاية المادة.
الجدول الافتراضي
ويُعطى الجدول الجديد قيما غير مقصودة مماثلة لتلك المستخدمة في Microsoft Word:
الجدول - الممتلكات | العجز في Aspose.Words |
---|---|
Border Style |
Single |
Border Width |
1/2 pt |
عقيد الحدود | Black |
Left and Right Padding |
5.4 pts |
AutoFit Mode |
AutoFit to Window |
Allow AutoFit |
True |
ويمكن أن يكون الجدول مطروحا إذا كان موقعه ضيقا، أو يطفو إذا أمكن وضعه في أي مكان على الصفحة. بالخطأ Aspose.Words دائماً ما يخلق الطاولات
|
وضع جدول مع الوثيقة
In Aspose.Words, يمكن للمستعملين وضع جدول في وثيقة تستخدم فيه DocumentBuilder. وفيما يلي الخوارزمية الأساسية لإنشاء جدول:
1 شغل الطاولة StartTable 2. إضافة زنزانة إلى الطاولة باستخدام InsertCell -هذا يبدأ تلقائياً صفاً جديداً 3 اختياريا، استخدام CellFormat الممتلكات لتحديد شكل الخلايا 4 يدرج محتوى الخلية باستخدام ما هو مناسب DocumentBuilder أساليب من قبيل Writeln, InsertImage, and others 5 اكرر الخط 2-4 حتى يكتمل الصف 6 اتصل EndRow لإنهاء الصف الحالي 7. اختياريا، استخدام RowFormat الممتلكات لتحديد شكل الصف 8 اكرر الخط 2-7 حتى يكتمل الجدول 9. اتصل EndTable لإنهاء بناء الطاولة
تفاصيل هامة:
- StartTable ويمكن أيضاً أن يُدعى داخل زنزانة، وفي هذه الحالة يبدأ إنشاء منضدة محجوبة داخل الزنزانة.
- بعد الاتصال InsertCell, تم إنشاء خلية جديدة وأي محتوى تضيفه باستخدام أساليب أخرى DocumentBuilder سيضاف الفصل إلى الزنزانة الحالية لخلق خلية جديدة على نفس الصف، الاتصال InsertCell مرة أخرى
- إذا InsertCell يُدعى فوراً بعد EndRow ونهاية الصف ستستمر الطاولة على صف جديد
- EndTable لا ينبغي أن تُسمَى طريقة إنهاء الجدول إلا مرة واحدة بعد الاتصال EndRow. نداء EndTable ينقل الشعار من الزنزانة الحالية إلى الموقع مباشرة بعد الطاولة.
ويمكن الاطلاع بوضوح على عملية وضع جدول في الصورة التالية:
ويبين المثال الرمزي التالي كيفية إنشاء طاولة بسيطة باستخدام DocumentBuilder مع الشكل الافتراضي:
ويبيّن المثال الرمزي التالي كيفية وضع جدول نموذجي باستخدام الوثيقة:
ويبيّن المثال الرمزي التالي كيفية إدراج طاولة محجوزة تستخدم الوثيقة:
Create a Table via DOM )أ(Document Object Model)
يمكنك إدخال الطاولات مباشرة إلى DOM بإضافة جديد Table موكب في موقف محدد
ويرجى الانتباه إلى أن الجدول نفسه سيكون فارغاً تماماً بعد إنشاء عقد المائدة، أي أنه لا يتضمن بعد الصفوف والخلايا. إدراج الصفوف والخلايا في جدول، إضافة ما هو مناسب Row و Cell ندوات الطفل إلى DOM.
The following code example shows how to build a new table fromخام by added the appropriate child nodes to the document tree:
Create a Table from HTML
Aspose.Words دعم إدراج المحتوى في وثيقة من مصدر HTML باستخدام InsertHtml طريقة يمكن للمدخلات أن تكون صفحة كاملة لـ (HTML) أو مجرد قنبلة جزئية
استخدام هذا InsertHtml يمكن للمستعملين أن يدرجوا جداول في الوثيقة عن طريق بطاقات طاولة مثل <table>
, <tr>
, <td>
.
The following code example shows how to insert a table into a document from a string containing HTML tags:
يدرج نسخة من الجدول الحالي
وغالبا ما تكون هناك أوقات تحتاج فيها إلى وضع جدول يستند إلى جدول قائم بالفعل في وثيقة. أسهل طريقة لتكرار الجدول مع الاحتفاظ بجميع أشكاله هي استنساخ عقد الجدول باستخدام deepClone طريقة
ويمكن استخدام نفس الأسلوب لإضافة نسخ من صف قائم أو خلية إلى طاولة.
ويبين المثال الرمزي التالي كيفية تكرار جدول باستخدام مصممي العقد:
The following code example shows how to clone the last row of a table and append it to the table:
إذا كنت تنظر إلى وضع جداول في وثيقة تنمو ديناميكية مع كل سجل من مصدر بياناتك، ثم الطريقة المذكورة أعلاه لا تُنصَح. وبدلا من ذلك، يتحقق الناتج المنشود بسهولة أكبر باستخدامه Mail merge مع المناطق يمكنك معرفة المزيد عن هذه التقنية في Mail Merge الأقاليم القسم
Compare Ways to Create a Table
Aspose.Words توفر عدة طرق لوضع جداول جديدة في وثيقة ما. ولكل طريقة مزاياها ومساوئها الخاصة، وبالتالي فإن اختيار استخدامها كثيرا ما يتوقف على الحالة المحددة.
دعونا نلقي نظرة عن قرب على هذه الطرق لخلق الطاولات ومقارنة المحترفين والمحتالين:
المنهجية | المزايا | أوجه القصور |
---|---|---|
Via DocumentBuilder |
الطريقة الموحدة لإدراج الجداول ومحتويات الوثائق الأخرى | في بعض الأحيان من الصعب خلق العديد من أنواع الجداول في نفس الوقت مع نفس حالة البناء |
Via DOM | أفضل من الشفرة المحيطة التي تخلق وتضيف عقدة مباشرة إلى DOM بدون استخدام DocumentBuilder | الطاولة مصممة “مفرغة” قبل القيام بمعظم العمليات يجب أن تتصل EnsureMinimum لخلق أي أطفال مفقودين |
من HTML | يمكن أن يخلق طاولة جديدة من مصدر HTML باستخدام بطاقات مثل <table> , <tr> , <td> |
ليس كل شيء ممكن Microsoft Word يمكن تطبيق صيغ الجداول على نظام HTML |
استنساخ طاولة قائمة | يمكنك أن تخلق نسخة من طاولة قائمة بينما تحافظ على جميع الصفات و تشكيل الخلايا | ويجب إزالة عقد الأطفال المناسب قبل أن تكون الطاولة جاهزة للاستخدام |