اتبع منشور المدونة هذا لمعرفة كيفية إضافة رؤوس الجدول في مستندات Word برمجيًا. يوفر FileFormat.words طرق إنشاء الجدول الغنية والمعالجة.
نظرة عامة
جداول البيانات هي عناصر مهمة في MS Word مستندات. العمل مع الجداول هو مهمة روتينية ، لكن ماذا لو كان هناك عدد من المستندات مع وجود جداول بيانات متعددة؟ بالطبع ، ستكون هناك حاجة إلى نوع من الأتمتة بشكل سيء لأتمتة المهام المتكررة لتوفير الوقت وزيادة الإنتاجية. لذلك ، fileformat.words هي مكتبة .NET مفتوحة المصدر لأتمتة إنشاء الكلمات وتعديلها ومعالجتها. في هذه المقالة ، سوف نستكشف كيفية إدراج رؤوس الجدول في مستندات الكلمات باستخدام API C#. ومع ذلك ، يمكنك زيارة [المقالات] السابقة 4 حول مواضيع مختلفة تتعلق بجداول في MS Word . سنذهب من خلال الأقسام التالية في منشور المدونة هذا:
العمل مع رؤوس الجدول - تثبيت API
إجراء تثبيت FileFormat.words لـ .NET Library مسألة ثوانٍ. يوفر API .NET API على مستوى المؤسسة مجموعة واسعة من الميزات التي يمكن للمستخدمين الاستفادة منها. لذلك ، يمكنك تنزيل Nuget Package أو تشغيل الأمر التالي في Nuget Package Manager.
Install-Package FileFormat.Words
إضافة رؤوس الجدول في ملفات الكلمات برمجيا
تم الانتهاء من التثبيت ، والخطوة التالية هي كتابة مقتطف الرمز على الفور. علاوة على ذلك ، لا يمكننا إنشاء جدول فقط في مستند Word ولكن أيضًا يمكننا تخصيص تصميم الجداول برمجيًا. يمكنك اتباع الخطوات ومقتطف الرمز المذكور أدناه:
- إنشاء كائن من الفئة الوثيقة.
- تهيئة مُنشئ فئة الجسم مع كائن فئة المستند.
- قم بإنشاء مثيل لفئة الجدول.
- اضبط رأس العمود الأول من خلال استدعاء طريقة TableHeaders.
- استدعاء طريقة إلحاق لإضافة الصفوف إلى الجدول.
- اتصل بالطريقة AppendChild لإضافة الجدول إلى جسم المستند.
- ستوفر طريقة حفظ مستند Word على القرص.
using FileFormat.Words;
using FileFormat.Words.Table;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Instantiate an object of the Document class.
using (Document doc = new Document())
{
// Initialize the constructor of the Body class with the Document class object.
Body body = new Body(doc);
// Create an instance 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 dashed_border method to set the border style and border line width.
topBorder.dashed_border(20);
// To set the border of the bottom side of the table.
BottomBorder bottomBorder = new BottomBorder();
bottomBorder.dashed_border(20);
// To set the border of the right side of the table.
RightBorder rightBorder = new RightBorder();
rightBorder.dashed_border(20);
// To set the border of the left side of the table.
LeftBorder leftBorder = new LeftBorder();
leftBorder.dashed_border(20);
// To set the inside vertical border of the table.
InsideVerticalBorder insideVerticalBorder = new InsideVerticalBorder();
insideVerticalBorder.dashed_border(20);
// To set the inside vehorizontalrtical border of the table.
InsideHorizontalBorder insideHorizontalBorder = new InsideHorizontalBorder();
insideHorizontalBorder.dashed_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("Country");
run.Text = "England";
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();
// Invoke the TableHeaders method to set the header of the second column
table.TableHeaders("Capital");
run2.Text = "London";
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("Population");
run3.Text = "1000000";
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 = "Pakistan";
_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 = "Islamabad";
_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 = "2000000";
_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);
// Invoke the Append method to add the rows into table.
table.Append(tableRow);
table.Append(tableRow2);
// Call the AppendChild method to 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("/Users/Mustafa/Desktop/Docs.docx");
}
}
}
}
نسخ والصق الرمز أعلاه في الملف الرئيسي الخاص بك وتشغيل البرنامج. سترى الإخراج الموضح في الصورة أدناه:
الخاتمة
ننهي منشور المدونة هذا هنا على أمل أن تكون قد تعلمت كيفية إدراج رؤوس الجدول في مستندات Word باستخدام FileFormat.words Library. بالإضافة إلى ذلك ، لقد مررت بعملية التثبيت وقصاص الرمز أيضًا. علاوة على ذلك ، هناك طرق عملية أخرى يمكنك استكشافها في الوثائق. أخيرًا ، يواصل fileformat.com كتابة منشورات المدونة على مواضيع أخرى. علاوة على ذلك ، يمكنك متابعتنا على منصات الوسائط الاجتماعية الخاصة بنا ، بما في ذلك Facebook و LinkedIn و Twitter.
المساهمة
نظرًا لأن fileformat.words for .NET هو مشروع مفتوح المصدر وهو متاح على github. لذلك ، فإن مساهمة المجتمع موضع تقدير كبير.
اطرح سؤالاً
يمكنك إخبارنا بأسئلتك أو استفساراتك في المنتدى.
أسئلة يتم طرحها بشكل متكرر-الأسئلة الشائعة
** كيف يمكنك إدخال جدول برؤوس؟** يرجى متابعة هذا الرابط لمعرفة كيفية إدراج رؤوس الجدول في C#.