fileformat.words هي مكتبة مفتوحة المصدر تقدم وحدة معالجات Word مجانية تتيح لك إضافة/تعديل الجداول في مستندات Word.
نظرة عامة
يعتبر جدول في Word وثائق جزءًا لا يتجزأ عندما يتعلق الأمر بتمثيل البيانات. إنه عنصر المستند الأكثر شيوعًا ويوفر راحة كبيرة من حيث بناء وثيقة الأعمال. بشكل مثير للدهشة ، يمكنك إنشاء جدول في مستند Word دون استخدام أو تثبيت MS Word على جهازك المحلي. نعم ، اسمحوا لي أن أقدم معالج الكلمات المجاني يمكّنك من إنشاء مستندات Word ومعالجتها برمجيًا. fileformat.words for .NET هي حزمة كاملة من معالجة مستندات الكلمات. لذلك ، في منشور المدونة هذا ، سوف نتعلم كيفية عمل جدول في Word مستندات باستخدام مكتبة .NET FileFormat.words. يغطي منشور المدونة هذا الأقسام التالية:
مولد الجدول للكلمة - تثبيت API
FileFormat.words لـ .NET يوفر مجموعة واسعة من الميزات لمعالجة الكلمات MS. من السهل جدًا تثبيت واجهة برمجة تطبيقات مفتوحة المصدر. ومع ذلك ، يمكنك تنزيل Nuget Package من تثبيته عن طريق تشغيل الأمر التالي في Nuget Package Manager.
Install-Package FileFormat.Words
كيفية إنشاء جدول في مستند Word برمجيًا
دعنا نكتب بعض التعليمات البرمجية لرؤية هذا المفتوح المصدر مجاني Word Processo r في العمل. في الواقع ، سنرى كيفية إنشاء جدول في مستند Word باستخدام FileFormat.words Library. يرجى اتباع الخطوات التالية ومقتطف الرمز:
- تهيئة مثيل للفئة الوثيقة.
- مثبتة على مُنشئ الفئة 10 مع كائن فئة المستند.
- إنشاء كائن من الفئة الجدول.
- تهيئة منشئات topborder ، bottomborder ، rightborder ، leftborder ، insideverticborder ، و insideHorizontalBorder اضبط حدود جميع جوانب الجدول.
- استدعاء طريقة basicblacksquares_border لتعيين نمط الحدود وعرض الحدود.
- قم بإنشاء مثيل لفئة tableborders.
- إلحاق كائنات الفئات ذات الحدود العليا ، BottomBorder ، الحدود اليمنى ، LeftBorder ، InsideVticLborder ، و InseorHontalBorder إلى كائن فئة Tableborders.
- تهيئة مثيل للفئة TableProperties.
- استدعاء طريقة 22 من فئة TableProperties لإرفاق كائن فئة TableBorders.
- قم بإنشاء مثيل لفئة tablejustification واستدعاء طريقة alignleft لوضع الجدول على الجانب الأيسر من المستند.
- استدعاء طريقة إلحاق لإرفاق كائن الجدول إلى كائن TBLPROP.
- سترفق طريقة AppendChild من فئة الجدول خصائص الجدول بالجدول.
- قم بإنشاء كائن من فئة tableRow لإنشاء صف جدول.
- تهيئة مثيل للفئة tablecell.
- اضبط رأس العمود الأول من خلال استدعاء طريقة TableHeaders.
- استدعاء طريقة 30 من فئة TableCell لإضافة نص داخل خلية الجدول.
- قم بإنشاء كائن من خصائص الجدول TableCellProperties
- اضبط عرض خلية الجدول عن طريق تهيئة كائن الفئة tableCellWidth وإلحاق كائن TblCellProps.
- ستعمل طريقة إلحاق على إرفاق كائن TblCellProps بكائن فئة TableCell.
- استدعاء طريقة إلحاق لإضافة الصفوف إلى الجدول.
- ستضيف طريقة AppendChild الجدول إلى جسم المستند.
- ستوفر طريقة حفظ مستند Word على القرص.
using FileFormat.Words;
using FileFormat.Words.Table;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Initialize an instance of the Document class.
using (Document doc = new Document())
{
// Instantiate the constructor of the Body class with the Document class object.
Body body = new Body(doc);
// Create an object of the Table class.
Table table = new Table();
// Initialize the constructor of the TopBorder class to set the border of the top side of the table.
TopBorder topBorder = new TopBorder();
// Invoke the basicBlackSquares_border method to set the border style and border line width.
topBorder.basicBlackSquares_border(20);
// To set the border of the bottom side of the table.
BottomBorder bottomBorder = new BottomBorder();
bottomBorder.basicBlackSquares_border(20);
// To set the border of the right side of the table.
RightBorder rightBorder = new RightBorder();
rightBorder.basicBlackSquares_border(20);
// To set the border of the left side of the table.
LeftBorder leftBorder = new LeftBorder();
leftBorder.basicBlackSquares_border(20);
// To set the inside vertical border of the table.
InsideVerticalBorder insideVerticalBorder = new InsideVerticalBorder();
insideVerticalBorder.basicBlackSquares_border(20);
// To set the inside vehorizontalrtical border of the table.
InsideHorizontalBorder insideHorizontalBorder = new InsideHorizontalBorder();
insideHorizontalBorder.basicBlackSquares_border(20);
// Create an instance of the TableBorders class.
TableBorders tableBorders = new TableBorders();
// Append the object of the TopBorder class to the object of the TableBorders class.
tableBorders.AppendTopBorder(topBorder);
// Append the object of the BottomBorder class.
tableBorders.AppendBottomBorder(bottomBorder);
// Append the object of the RightBorder class.
tableBorders.AppendRightBorder(rightBorder);
// Append the object of the LeftBorder class.
tableBorders.AppendLeftBorder(leftBorder);
// Append the object of the InsideVerticalBorder class.
tableBorders.AppendInsideVerticalBorder(insideVerticalBorder);
// Append the object of the InsideHorizontalBorder class.
tableBorders.AppendInsideHorizontalBorder(insideHorizontalBorder);
// Initialize an instance of the TableProperties class.
TableProperties tblProp = new TableProperties();
// Invoke the Append method to attach the object of the TableBorders class.
tblProp.Append(tableBorders);
// Create an instance of the TableJustification class
TableJustification tableJustification = new TableJustification();
// Call the AlignLeft method to position the table on left side of the document.
tableJustification.AlignLeft();
// Invoke the Append method to attach the tableJustification object to the tblProp object.
tblProp.Append(tableJustification);
// The AppendChild method will attach the table propertiese to the table.
table.AppendChild(tblProp);
// Create an object of the TableRow class to create a table row.
TableRow tableRow = new TableRow();
TableRow tableRow2 = new TableRow();
// Initialize an istance of the TableCell class.
TableCell tableCell = new TableCell();
Paragraph para = new Paragraph();
Run run = new Run();
// Set the header of the first column by invoking the TableHeaders method.
table.TableHeaders("Name");
run.Text = "Mustafa";
para.AppendChild(run);
// Call the Append method to add text inside the table cell.
tableCell.Append(para);
// Create an object of the TableCellProperties table properties
TableCellProperties tblCellProps = new TableCellProperties();
// Set the width of table cell by initializing the object of the TableCellWidth class and append to tblCellProps object.
tblCellProps.Append(new TableCellWidth("2400"));
// Append method will attach the tblCellProps object with the object of the TableCell class.
tableCell.Append(tblCellProps);
TableCell tableCell2 = new TableCell();
Paragraph para2 = new Paragraph();
Run run2 = new Run();
// set the header of the second column
table.TableHeaders("Nationality");
run2.Text = "Pakistani";
para2.AppendChild(run2);
tableCell2.Append(para2);
TableCellProperties tblCellProps2 = new TableCellProperties();
tblCellProps2.Append(new TableCellWidth("1400"));
tableCell2.Append(tblCellProps2);
TableCell tableCell3 = new TableCell();
Paragraph para3 = new Paragraph();
Run run3 = new Run();
table.TableHeaders("Age");
run3.Text = "30";
para3.AppendChild(run3);
tableCell3.Append(para3);
TableCellProperties tblCellProps3 = new TableCellProperties();
tblCellProps3.Append(new TableCellWidth("1400"));
tableCell3.Append(tblCellProps3);
// Call the Append method to add cells into table row.
tableRow.Append(tableCell);
tableRow.Append(tableCell2);
tableRow.Append(tableCell3);
// create table cell
TableCell _tableCell = new TableCell();
Paragraph _para = new Paragraph();
Run _run = new Run();
_run.Text = "sultan";
_para.AppendChild(_run);
_tableCell.Append(_para);
TableCellProperties tblCellProps1_ = new TableCellProperties();
tblCellProps1_.Append(new TableCellWidth("2400"));
_tableCell.Append(tblCellProps1_);
TableCell _tableCell2 = new TableCell();
Paragraph _para2 = new Paragraph();
Run _run2 = new Run();
_run2.Text = "British";
_para2.AppendChild(_run2);
_tableCell2.Append(_para2);
TableCellProperties tblCellProps2_ = new TableCellProperties();
tblCellProps2_.Append(new TableCellWidth("1400"));
_tableCell2.Append(tblCellProps2_);
TableCell _tableCell3 = new TableCell();
Paragraph _para3 = new Paragraph();
Run _run3 = new Run();
_run3.Text = "2";
_para3.AppendChild(_run3);
_tableCell3.Append(_para3);
TableCellProperties tblCellProps3_ = new TableCellProperties();
tblCellProps3_.Append(new TableCellWidth("1400"));
_tableCell3.Append(tblCellProps3_);
tableRow2.Append(_tableCell);
tableRow2.Append(_tableCell2);
tableRow2.Append(_tableCell3);
// Call the Append method to add the rows into table.
table.Append(tableRow);
table.Append(tableRow2);
// The AppendChild method will add the table to the body of the document.
body.AppendChild(table);
// The Save method will save the Word document onto the disk.
doc.Save("/Docs.docx");
}
}
}
}
يظهر إخراج مقتطف الرمز أعلاه في الصورة أدناه:
الخاتمة
هذا يقودنا إلى نهاية هذه المقالة ونأمل أن تكون قد تعلمت كيفية إنشاء جدول في مستند Word باستخدام مكتبة FileFormat.words. بالإضافة إلى ذلك ، سيساعدك هذا الدليل إذا كنت تتطلع إلى إنشاء مولد جدول لمستندات الكلمات في C#. علاوة على ذلك ، هذا معالج النصوص المجاني API مفتوح المصدر ويمكنك العثور على وثائقه هنا. أخيرًا ، يواصل fileformat.com كتابة منشورات المدونة على مواضيع أخرى. علاوة على ذلك ، يمكنك متابعتنا على منصات الوسائط الاجتماعية الخاصة بنا ، بما في ذلك Facebook و LinkedIn و Twitter.
المساهمة
نظرًا لأن fileformat.words for .NET هو مشروع مفتوح المصدر وهو متاح على github. لذلك ، فإن مساهمة المجتمع موضع تقدير كبير.
اطرح سؤالاً
يمكنك إخبارنا بأسئلتك أو استفساراتك في المنتدى.
أسئلة يتم طرحها بشكل متكرر-الأسئلة الشائعة
** كيف أقوم بإنشاء جدول في مستند كلمة؟** من السهل جدًا إنشاء جدول في مستند Word باستخدام هذا المصدر المفتوح .NET Library. علاوة على ذلك ، يمكنك استكشاف واجهة برمجة التطبيقات هذه أخرى. ** كيفية إنشاء ملف docx في C#؟** يرجى اتباع هذا الرابط للذهاب من خلال مقتطف رمز مفصل وخطوات لإنشاء ملف docx في C#. ** كيف يمكنني إنشاء تنسيق جدول مخصص في الكلمة؟** FileFormat.words for .NET هي مكتبة مجانية تقدم ميزات لمعالجة وإنشاء MS Word برمجيًا. في الواقع ، يمكنك استكشاف مساحة الاسم fileformat.words.table لمعرفة الأساليب والخصائص.