إنشاء جداول في مستندات Word باستخدام Python

تُستخدم الجداول بشكل شائع في مستندات Word لتنظيم المعلومات في بنية تشبه الشبكة. إنها تسمح لك بتلخيص المعلومات في شكل صفوف وأعمدة. في هذه المقالة ، ستتعلم كيفية إنشاء جدول في مستندات Word برمجيًا باستخدام Python. علاوة على ذلك ، ستغطي المقالة كيفية إنشاء جداول متداخلة أو استنساخ جدول موجود في مستندات Word.

مكتبة Python لإنشاء جداول في مستندات Word

للعمل مع الجداول في مستندات Word ، سنستخدم Aspose.Words for Python. تم تصميم المكتبة لإنشاء مستندات Word ومعالجتها ديناميكيًا من داخل تطبيقات Python. يمكنك تثبيت المكتبة من PyPI باستخدام أمر pip التالي.

pip install aspose-words

قم بإنشاء جدول في مستند Word في Python

فيما يلي خطوات إنشاء جدول في مستند Word DOCX باستخدام Python.

  • قم بإنشاء كائن من فئة المستند.
  • قم بإنشاء كائن من فئة DocumentBuilder.
  • ابدأ الجدول باستخدام طريقة DocumentBuilder.starttable() واحصل على مرجع للجدول في كائن.
  • أدخل خلية باستخدام أسلوب DocumentBuilder.insertcell().
  • قم بتعيين تنسيق الخلية باستخدام خاصية DocumentBuilder.cellformat.
  • اضبط الاحتواء التلقائي باستخدام طريقة الاحتواء التلقائي (aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS).
  • اضبط محاذاة الخلية.
  • أدخل نصًا في الخلية باستخدام طريقة DocumentBuilder.write().
  • كرر إدخال الخلايا والنص في الخلايا كما هو مطلوب.
  • قم بإنهاء صف عند إكمال إدراج الخلايا.
  • الجدول النهائي عندما تقوم بإدراج جميع الصفوف.
  • احفظ مستند Word باستخدام طريقة Document.save().

يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء جدول في مستندات DOCX باستخدام Python.

import aspose.words as aw

# قم بإنشاء مستند Word جديد.
doc = aw.Document()

# إنشاء منشئ المستندات.
builder = aw.DocumentBuilder(doc)

# ابدأ الجدول.
table = builder.start_table()

# أدخل الخلية.
builder.insert_cell()

# يجب تطبيق التنسيق الواسع للجدول بعد وجود صف واحد على الأقل في الجدول.
table.left_indent = 20.0

# عيّن الارتفاع وحدد قاعدة الارتفاع لصف الرأس.
builder.row_format.height = 40.0
builder.row_format.height_rule = aw.HeightRule.AT_LEAST

# اضبط المحاذاة وإعدادات الخط.
builder.paragraph_format.alignment = aw.ParagraphAlignment.CENTER
builder.font.size = 16
builder.font.name = "Arial"
builder.font.bold = True

builder.cell_format.width = 100.0
builder.write("Header Row,\n Cell 1")

# لا نحتاج إلى تحديد عرض هذه الخلية لأنها موروثة من الخلية السابقة.
builder.insert_cell()
builder.write("Header Row,\n Cell 2")

builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Header Row,\n Cell 3")
builder.end_row()

builder.cell_format.width = 100.0
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER

# إعادة تعيين الارتفاع وتحديد قاعدة ارتفاع مختلفة لجسم الجدول.
builder.row_format.height = 30.0
builder.row_format.height_rule = aw.HeightRule.AUTO
builder.insert_cell()

# إعادة تعيين تنسيق الخط.
builder.font.size = 12
builder.font.bold = False

builder.write("Row 1, Cell 1 Content")
builder.insert_cell()
builder.write("Row 1, Cell 2 Content")

builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Row 1, Cell 3 Content")
builder.end_row()

builder.insert_cell()
builder.cell_format.width = 100.0
builder.write("Row 2, Cell 1 Content")

builder.insert_cell()
builder.write("Row 2, Cell 2 Content")

builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Row 2, Cell 3 Content.")
builder.end_row()

# طاولة النهاية.
builder.end_table()

# احفظ المستند.
doc.save("table_formatted.docx")

فيما يلي لقطة شاشة للجدول الذي أنشأناه باستخدام نموذج التعليمات البرمجية أعلاه.

Table in a Word DOCX Document

قم بإنشاء جدول متداخل في مستند Word في Python

يتيح لك Aspose.Words for Python إنشاء جدول متداخل بسلاسة. بمعنى آخر ، يمكنك إنشاء جدول جديد داخل خلية من الجدول. فيما يلي خطوات إنشاء جدول متداخل في ملف Word DOCX.

  • قم بإنشاء كائن من فئة المستند.
  • قم بإنشاء كائن من فئة DocumentBuilder.
  • ابدأ الجدول باستخدام طريقة DocumentBuilder.starttable() واحصل على مرجع للجدول في كائن.
  • أدخل خلية باستخدام أسلوب DocumentBuilder.insertcell() واحصل على مرجع للخلية في كائن.
  • أدخل نصًا في الخلية باستخدام طريقة DocumentBuilder.write().
  • كرر إدخال الخلايا والنص في الخلايا كما هو مطلوب.
  • الجدول النهائي عندما تقوم بإدراج جميع الصفوف.
  • حرك عنصر التحكم داخل الخلية المطلوبة باستخدام طريقة DocumentBuilder.moveto (Cell.firstparagraph).
  • قم بإنشاء جدول آخر عن طريق إدراج الخلايا وإنهاء الجدول عند الانتهاء.
  • احفظ مستند Word باستخدام طريقة Document.save().

يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء جدول متداخل في مستند DOCX باستخدام Python.

import aspose.words as aw

# قم بإنشاء مستند Word جديد.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)

# أدخل الخلية.
cell = builder.insert_cell()
builder.writeln("Outer Table Cell 1")

builder.insert_cell()
builder.writeln("Outer Table Cell 2")

# هذا الاستدعاء مهم لإنشاء جدول متداخل داخل الجدول الأول. 
# بدون هذا الاستدعاء ، سيتم إلحاق الخلايا المدرجة أدناه بالجدول الخارجي.
builder.end_table()

# الانتقال إلى الخلية الأولى من الجدول الخارجي.
builder.move_to(cell.first_paragraph)

# بناء الجدول الداخلي.
builder.insert_cell()
builder.writeln("Inner Table Cell 1")
builder.insert_cell()
builder.writeln("Inner Table Cell 2")
builder.end_table()

# احفظ المستند.
doc.save("table_nested.docx")

التالي هو إخراج نموذج التعليمات البرمجية أعلاه.

Nested Table in a Word Document

استنساخ جدول موجود في مستند Word في Python

يمكنك أيضًا استنساخ جدول موجود في مستند Word. فيما يلي خطوات إجراء هذه العملية.

  • قم بتحميل المستند باستخدام فئة المستند.
  • احصل على مرجع للجدول في كائن باستخدام أسلوب Document.getchild (NodeType.TABLE، int، boolean) .astable().
  • استدعاء طريقة clone (True) .astable() باستخدام كائن الجدول والحصول على مرجع للجدول المستنسخ في كائن آخر.
  • أدخل الجدول المستنسخ باستخدام طريقة Table.parentnode.insertafter().
  • أدخل فقرة فارغة بين الجداول باستخدام طريقة Table.parentnode.insertafter (الفقرة (المستند) ، الجدول).
  • احفظ مستند Word باستخدام طريقة Document.save().

يوضح نموذج التعليمات البرمجية التالي كيفية استنساخ جدول في مستند Word DOCX باستخدام Python.

import aspose.words as aw

# قم بتحميل مستند Word.
doc = aw.Document("table_formatted.docx")

# احصل على مرجع للجدول المطلوب.
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table()

# انسخ الجدول وأدخله في المستند بعد الجدول الأصلي.
tableClone = table.clone(True).as_table()
table.parent_node.insert_after(tableClone, table)

# أدخل فقرة فارغة بين الجدولين ،
# وإلا سيتم دمجهم في واحد عند التوفير.
table.parent_node.insert_after(aw.Paragraph(doc), table)

# احفظ المستند.
doc.save("table_clone.docx")

تُظهر لقطة الشاشة التالية الجدول المستنسخ في مستند Word.

Cloned Table in a Word Document

احصل على ترخيص API مجاني

يمكنك الحصول على ترخيص مؤقت لاستخدام Aspose.Words مع Python بدون قيود تقييم.

استنتاج

في هذه المقالة ، تعلمت كيفية إنشاء جداول في مستندات Word باستخدام Python. علاوة على ذلك ، لقد رأيت كيفية إنشاء جداول متداخلة أو استنساخ الجداول الموجودة في مستندات Word ديناميكيًا. بالإضافة إلى ذلك ، يمكنك زيارة وثائق Aspose.Words for Python لاستكشاف ميزات أخرى. في حالة وجود أي أسئلة ، لا تتردد في إخبارنا عبر المنتدى.

أنظر أيضا

معلومات: إذا احتجت في أي وقت إلى الحصول على مستند Word من عرض تقديمي لـ PowerPoint ، فيمكنك استخدام محول Aspose Presentation to Word Document.