إنشاء جدول في Word باستخدام C# | إنشاء جداول متداخلة في C#

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

تتناول هذه المقالة المواضيع التالية:

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

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

يرجى تنزيل ملف DLL أو تثبيته من NuGet باستخدام الأمر التالي:

PM> Install-Package Aspose.Words

إنشاء جدول في مستند Word في #C

هناك طريقتان لإنشاء الجداول في مستندات Word باستخدام Aspose.Words for .NET:

  • باستخدام فئة DocumentBuilder
  • استخدام DOM (نموذج كائن المستند)

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

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

تتيح فئة DocumentBuilder إنشاء مستندات ديناميكية بكفاءة وسهولة من البداية أو تعديل المستندات الموجودة. بفضل مجموعته الشاملة من الوظائف، يمكننا إدراج عناصر محتوى متنوعة بسلاسة، بما في ذلك النص وخانات الاختيار وكائنات OLE والفقرات والقوائم والجداول والصور وغيرها الكثير.

يرجى اتباع الخطوات أدناه لإنشاء جدول في مستند Word باستخدام فئة DocumentBuilder.

  1. قم بإنشاء كائن من فئة المستند.
  2. قم بإنشاء كائن من فئة DocumentBuilder.
  3. قم بإنشاء جدول جديد باستخدام الأسلوب StartTable().
  4. قم بإدراج خلية باستخدام الأسلوب InsertCell().
  5. قم بإدراج نص في الخلية باستخدام طريقة Write().
  6. كرر إدراج الخلايا والنص في الخلايا كما هو مطلوب.
  7. قم بإنهاء صف باستخدام أسلوب EndRow().
  8. قم بإنهاء الجدول باستخدام طريقة EndTable().
  9. وأخيرًا، احفظ مستند Word باستخدام طريقة Save().

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

// يوضح مثال التعليمات البرمجية هذا كيفية إنشاء جدول في مستند Word باستخدام #C
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// البدء في بناء الجدول.
builder.StartTable();
builder.InsertCell();
builder.Write("Row 1, Cell 1 Content.");

// بناء الخلية الثانية.
builder.InsertCell();
builder.Write("Row 1, Cell 2 Content.");

// اتصل بالطريقة التالية لإنهاء الصف وبدء صف جديد.
builder.EndRow();

// بناء الخلية الأولى من الصف الثاني.
builder.InsertCell();
builder.Write("Row 2, Cell 1 Content");

// بناء الخلية الثانية.
builder.InsertCell();
builder.Write("Row 2, Cell 2 Content.");
builder.EndRow();

// إشارة إلى أننا انتهينا من بناء الجدول.
builder.EndTable();

doc.Save("CreateSimpleTable.docx");
إنشاء جدول في كلمة باستخدام DocumentBuilder

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

إنشاء جدول باستخدام نموذج كائن المستند (DOM)

نموذج كائن المستند (DOM) هو تمثيل في الذاكرة لمستند Word. فهو يتيح الوصول البرمجي لقراءة محتوى وتنسيق مستند Word ومعالجته وتعديله.

يرجى اتباع الخطوات أدناه لإنشاء جدول في مستند Word باستخدام DOM.

  1. قم بإنشاء كائن من فئة المستند.
  2. قم بإنشاء جدول جديد باستخدام فئة Table().
  3. قم بإضافة جدول إلى نص المستند باستخدام الأسلوب AppendChild().
  4. قم بإنشاء كائن من فئة الصف وأدخله في الجدول باستخدام طريقة Table.AppendChild(Row).
  5. قم بإنشاء كائن من فئة الخلية، وقم بتعيين خيارات التنسيق، وأضف نصًا إلى الخلية.
  6. قم بإدراج الخلية في الصف باستخدام الأسلوب Row.AppendChild(Cell).
  7. بعد ذلك، كرر العملية لأكبر عدد تريده من الصفوف.
  8. وأخيرًا، احفظ مستند Word باستخدام طريقة Save().

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

// يوضح مثال التعليمات البرمجية هذا كيفية إنشاء جدول في مستند Word باستخدام DOM في #C
Document doc = new Document();

// نبدأ بإنشاء كائن الجدول. لاحظ أنه يجب علينا تمرير كائن المستند
// إلى منشئ كل عقدة. وذلك لأن كل عقدة نقوم بإنشائها يجب أن تنتمي
// إلى بعض الوثيقة.
Table table = new Table(doc);
doc.FirstSection.Body.AppendChild(table);

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

// وبدلاً من ذلك، سنتولى إنشاء الصف والجدول بأنفسنا.
// ستكون هذه أفضل طريقة للقيام بذلك إذا كنا نقوم بإنشاء جدول داخل خوارزمية.
Row row = new Row(doc);
row.RowFormat.AllowBreakAcrossPages = true;
table.AppendChild(row);

// يمكننا الآن تطبيق أي إعدادات ملائمة تلقائية.
table.AutoFit(AutoFitBehavior.FixedColumnWidths);

Cell cell = new Cell(doc);
cell.CellFormat.Shading.BackgroundPatternColor = Color.LightBlue;
cell.CellFormat.Width = 80;
cell.AppendChild(new Paragraph(doc));
cell.FirstParagraph.AppendChild(new Run(doc, "Row 1, Cell 1 Text"));

// إلحاق خلية
row.AppendChild(cell);

// ثم نكرر العملية مع الخلايا والصفوف الأخرى في الجدول.
// يمكننا أيضًا تسريع الأمور عن طريق استنساخ الخلايا والصفوف الموجودة.
row.AppendChild(cell.Clone(false));
row.LastCell.AppendChild(new Paragraph(doc));
row.LastCell.FirstParagraph.AppendChild(new Run(doc, "Row 1, Cell 2 Text"));

// احفظ المستند
doc.Save("InsertTableDirectly.docx");
إنشاء جدول باستخدام نموذج كائن المستند (DOM)

إنشاء جدول باستخدام نموذج كائن المستند (DOM)

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

يمكننا أيضًا إنشاء جدول جديد داخل إحدى خلايا الجدول. فيما يلي الخطوات اللازمة لإنشاء جدول متداخل في مستند Word.

  1. قم بإنشاء كائن من فئة المستند.
  2. قم بإنشاء كائن من فئة DocumentBuilder.
  3. قم بإنشاء جدول باستخدام الأسلوب StartTable() واحصل على مرجع للجدول في كائن.
  4. قم بإدراج خلية باستخدام طريقة InsertCell() واحصل على مرجع للخلية الموجودة في الكائن.
  5. قم بإدراج نص في خلية باستخدام طريقة DocumentBuilder.Write().
  6. كرر إدراج الخلايا والنص في الخلايا كما هو مطلوب.
  7. قم بإنهاء الجدول عند قيامك بإدراج كافة الصفوف.
  8. انقل عنصر التحكم داخل الخلية المطلوبة باستخدام الأسلوب MoveTo(cell.FirstParagraph).
  9. قم بإنشاء جدول آخر عن طريق إدراج الخلايا، وقم بإنهاء الجدول عند الانتهاء.
  10. وأخيرًا، احفظ مستند Word باستخدام طريقة Save().

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

// يوضح مثال التعليمات البرمجية هذا كيفية إنشاء جدول متداخل في مستند Word باستخدام #C
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Cell cell = builder.InsertCell();
builder.Writeln("Outer Table Cell 1");

builder.InsertCell();
builder.Writeln("Outer Table Cell 2");

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

// الانتقال إلى الخلية الأولى من الجدول الخارجي.
builder.MoveTo(cell.FirstParagraph);

// بناء الجدول الداخلي.
builder.InsertCell();
builder.Writeln("Inner Table Cell 1");
builder.InsertCell();
builder.Writeln("Inner Table Cell 2");
builder.EndTable();

// احفظ المستند
doc.Save("NestedTable.docx");
إنشاء جدول متداخل في مستند Word باستخدام C#

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

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

يمكننا استنساخ جدول موجود في مستند Word باتباع الخطوات التالية:

  1. قم بتحميل مستند موجود بجدول باستخدام فئة المستند.
  2. احصل على الجدول في كائن باستخدام طريقة GetChild(NodeType.TABLE, int, boolean).
  3. استنساخ جدول باستخدام الأسلوب Table.Clone(True).
  4. قم بإدراج جدول مستنسخ باستخدام الأسلوب Table.ParentNode.InsertAfter().
  5. قم بإدراج فقرة فارغة بين الجداول باستخدام طريقة Table.ParentNode.InsertAfter(new Paragraph(Document), Table).
  6. وأخيرًا، احفظ مستند Word باستخدام طريقة Save().

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

// يوضح مثال التعليمات البرمجية هذا كيفية استنساخ جدول موجود في مستند Word باستخدام #C
Document doc = new Document("Tables.docx");

Table table = (Table) doc.GetChild(NodeType.Table, 0, true);

// انسخ الجدول وأدخله في المستند بعد المستند الأصلي.
Table tableClone = (Table) table.Clone(true);
table.ParentNode.InsertAfter(tableClone, table);

// أدخل فقرة فارغة بين الجدولين،
// وإلا فسيتم دمجها في واحدة عند حفظها، وهذا يتعلق بالتحقق من صحة المستند.
table.ParentNode.InsertAfter(new Paragraph(doc), table);
            
doc.Save("CloneCompleteTable.docx");
استنساخ جدول موجود في مستند Word في C#

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

إنشاء جدول في مستند Word من HTML

يمكننا أيضًا إنشاء جدول في مستند Word باستخدام سلسلة HTML باتباع الخطوات التالية:

  1. قم بإنشاء كائن من فئة المستند.
  2. قم بإنشاء كائن من فئة DocumentBuilder.
  3. قم بإدراج سلسلة HTML الخاصة بالجدول في المستند باستخدام الأسلوب DocumentBuilder.InsertHtml(String).
  4. وأخيرًا، احفظ المستند باستخدام طريقة Document.Save().

يوضح نموذج التعليمات البرمجية التالي كيفية إدراج جدول HTML في مستند Word باستخدام #C.

// يوضح مثال التعليمات البرمجية هذا كيفية إدراج جدول HTML في مستند Word باستخدام #C
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// لاحظ أن AutoFitSettings لا ينطبق على الجداول المدرجة من HTML.
builder.InsertHtml("<table>" +
                   "<tr>" +
                   "<td>Row 1, Cell 1</td>" +
                   "<td>Row 1, Cell 2</td>" +
                   "</tr>" +
                   "<tr>" +
                   "<td>Row 2, Cell 2</td>" +
                   "<td>Row 2, Cell 2</td>" +
                   "</tr>" +
                   "</table>");

doc.Save("InsertTableFromHtml.docx");
إنشاء جدول في مستند Word من HTML

إنشاء جدول في مستند Word من HTML

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

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

خاتمة

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

أنظر أيضا