إنشاء جدول
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 دائما بإنشاء جداول مضمنة.
|
إنشاء جدول مع 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 (نموذج كائن المستند)
يمكنك إدراج الجداول مباشرة في DOM عن طريق إضافة عقدة Table جديدة في موضع معين.
يرجى ملاحظة أنه بعد إنشاء عقدة الجدول مباشرة، سيكون الجدول نفسه فارغا تماما، أي أنه لا يحتوي بعد على صفوف وخلايا. لإدراج صفوف وخلايا في جدول، أضف العقد الفرعية Row و Cell المناسبة إلى DOM.
يوضح مثال التعليمات البرمجية التالية كيفية إنشاء جدول جديد من البداية بإضافة العقد الفرعية المناسبة إلى شجرة المستند:
إنشاء جدول من HTML
Aspose.Words يدعم إدراج المحتوى في مستند من مصدر HTML باستخدام طريقة InsertHtml. يمكن أن يكون الإدخال صفحة HTML كاملة أو مجرد مقتطف جزئي.
باستخدام طريقة InsertHtml هذه، يمكن للمستخدمين إدراج جداول في المستند عبر علامات الجدول مثل <table>
, <tr>
, <td>
.
يوضح مثال التعليمات البرمجية التالية كيفية إدراج جدول في مستند من سلسلة تحتوي على علامات HTML:
أدخل نسخة من جدول موجود
غالبا ما تكون هناك أوقات تحتاج فيها إلى إنشاء جدول استنادا إلى جدول موجود بالفعل في مستند. أسهل طريقة لتكرار جدول مع الاحتفاظ بجميع التنسيقات هي استنساخ عقدة الجدول باستخدام طريقة deepClone.
يمكن استخدام نفس الأسلوب لإضافة نسخ من صف أو خلية موجودة إلى جدول.
يوضح مثال الكود التالي كيفية تكرار جدول باستخدام منشئي العقدة:
يوضح مثال الكود التالي كيفية استنساخ الصف الأخير من الجدول وإلحاقه بالجدول:
إذا كنت تبحث في إنشاء جداول في مستند ينمو ديناميكيا مع كل سجل من مصدر البيانات الخاص بك، فلا ينصح بالطريقة المذكورة أعلاه. بدلا من ذلك، يتم تحقيق الإخراج المطلوب بسهولة أكبر باستخدام Mail merge مع المناطق. يمكنك معرفة المزيد عن هذه التقنية في Mail Merge مع المناطق القسم.
قارن طرق إنشاء جدول
Aspose.Words يوفر عدة طرق لإنشاء جداول جديدة في مستند. كل طريقة لها مزاياها وعيوبها، لذلك يعتمد اختيار استخدامها غالبا على الموقف المحدد.
دعونا نلقي نظرة فاحصة على هذه الطرق لإنشاء الجداول ومقارنة مزاياها وعيوبها:
الطريقة | المزايا | العيوب |
---|---|---|
عبر DocumentBuilder |
الطريقة القياسية لإدراج الجداول ومحتويات المستندات الأخرى | من الصعب في بعض الأحيان إنشاء العديد من أنواع الجداول في نفس الوقت مع نفس مثيل البناء |
عبر DOM | يتناسب بشكل أفضل مع الكود المحيط الذي ينشئ ويدرج العقد مباشرة في DOM دون استخدام DocumentBuilder | يتم إنشاء الجدول “فارغ”: قبل تنفيذ معظم العمليات، يجب استدعاء EnsureMinimum لإنشاء أي عقد فرعية مفقودة |
من HTML | يمكن إنشاء جدول جديد من HTML المصدر باستخدام علامات مثل <table> , <tr> , <td> |
لا يمكن تطبيق جميع تنسيقات الجدول Microsoft Word الممكنة على HTML |
استنساخ جدول موجود | يمكنك إنشاء نسخة من جدول موجود مع الاحتفاظ بجميع تنسيق الصف والخلية | يجب إزالة العقد الفرعية المناسبة قبل أن يصبح الجدول جاهزا للاستخدام |