Table
محتويات
[
يخفي
]Table class
يمثل جدولًا في مستند Word.
لمعرفة المزيد، قم بزيارةالعمل مع الجداول مقالة توثيقية.
public class Table : CompositeNode
المنشئون
اسم | وصف |
---|---|
Table(DocumentBase) | يقوم بتهيئة مثيل جديد لـTable الصف. |
الخصائص
اسم | وصف |
---|---|
AbsoluteHorizontalDistance { get; set; } | يحصل على أو يعين موضع الجدول العائم الأفقي المطلق المحدد بواسطة خصائص الجدول، بالنقاط. القيمة الافتراضية هي 0. |
AbsoluteVerticalDistance { get; set; } | يحصل على أو يعين موضع الجدول العائم العمودي المطلق المحدد بواسطة خصائص الجدول، بالنقاط. القيمة الافتراضية هي 0. |
Alignment { get; set; } | يحدد كيفية محاذاة جدول مضمن في المستند. |
AllowAutoFit { get; set; } | يسمح لبرنامج Microsoft Word وAspose.Words بتغيير حجم الخلايا في الجدول تلقائيًا لتناسب محتوياتها. |
AllowCellSpacing { get; set; } | يحصل على خيار “السماح بالتباعد بين الخلايا” أو يعينه. |
AllowOverlap { get; } | يحصل على ما إذا كان الجدول العائم يسمح للأشياء العائمة الأخرى في المستند بالتداخل مع امتداداته عند عرضها. القيمة الافتراضية هيحقيقي . |
Bidi { get; set; } | يحصل على أو يحدد ما إذا كان هذا جدولًا من اليمين إلى اليسار. |
BottomPadding { get; set; } | يحصل على مقدار المساحة (بالنقاط) المراد إضافتها أسفل محتويات الخلايا أو يعينه. |
CellSpacing { get; set; } | يحصل على مقدار المساحة (بالنقاط) بين الخلايا أو يعينها. |
Count { get; } | يحصل على عدد الأبناء المباشرين لهذه العقدة. |
CustomNodeId { get; set; } | يحدد معرف العقدة المخصص. |
Description { get; set; } | يحصل على وصف هذا الجدول أو يعينه. يوفر تمثيلًا نصيًا بديلاً للمعلومات الموجودة في الجدول. |
DistanceBottom { get; set; } | يحصل على المسافة بين أسفل الجدول والنص المحيط بها، بالنقاط، أو يعينها. |
DistanceLeft { get; set; } | يحصل على أو يعين المسافة بين يسار الجدول والنص المحيط به، بالنقاط. |
DistanceRight { get; set; } | يحصل على أو يعين المسافة بين يمين الجدول والنص المحيط به، بالنقاط. |
DistanceTop { get; set; } | يحصل على المسافة بين أعلى الجدول والنص المحيط به، بالنقاط، أو يعينها. |
virtual Document { get; } | يحصل على المستند الذي تنتمي إليه هذه العقدة. |
FirstChild { get; } | يحصل على أول طفل للعقدة. |
FirstRow { get; } | يعيد أولRow عقدة في الجدول. |
HasChildNodes { get; } | إرجاعحقيقي إذا كانت هذه العقدة تحتوي على أي عقد فرعية. |
HorizontalAnchor { get; set; } | يحصل على الكائن الأساسي الذي يجب أن يتم حساب الموضع الأفقي للجدول العائم منه. القيمة الافتراضية هيColumn . |
override IsComposite { get; } | إرجاعحقيقي حيث يمكن لهذه العقدة أن تحتوي على عقد فرعية. |
LastChild { get; } | يحصل على آخر طفل للعقدة. |
LastRow { get; } | يعيد آخرRow عقدة في الجدول. |
LeftIndent { get; set; } | يحصل على القيمة التي تمثل المسافة البادئة اليسرى للجدول أو يعينها. |
LeftPadding { get; set; } | يحصل على مقدار المساحة (بالنقاط) التي يجب إضافتها إلى يسار محتويات الخلايا أو يعينها. |
NextSibling { get; } | يحصل على العقدة التي تلي هذه العقدة مباشرة. |
override NodeType { get; } | إرجاعTable . |
ParentNode { get; } | يحصل على الوالد المباشر لهذه العقدة. |
PreferredWidth { get; set; } | يحصل على العرض المفضل للجدول أو يعينه. |
PreviousSibling { get; } | يحصل على العقدة التي تسبق هذه العقدة مباشرةً. |
Range { get; } | يعيدRange الكائن الذي يمثل الجزء من المستند الموجود في هذه العقدة. |
RelativeHorizontalAlignment { get; set; } | يحصل على محاذاة الجدول العائم الأفقية النسبية أو يعينها. |
RelativeVerticalAlignment { get; set; } | يحصل على محاذاة الجدول العائم الرأسية النسبية أو يعينها. |
RightPadding { get; set; } | يحصل على مقدار المساحة (بالنقاط) التي يجب إضافتها إلى يمين محتويات الخلايا أو يعينها. |
Rows { get; } | يوفر الوصول المكتوب إلى صفوف الجدول. |
Style { get; set; } | يحصل على نمط الجدول المطبق على هذا الجدول أو يعينه. |
StyleIdentifier { get; set; } | يحصل على أو يعين معرف النمط المستقل عن الإعدادات المحلية لنمط الجدول المطبق على هذا الجدول. |
StyleName { get; set; } | يحصل على اسم نمط الجدول المطبق على هذا الجدول أو يعينه. |
StyleOptions { get; set; } | يحصل على أو يعين علامات البت التي تحدد كيفية تطبيق نمط الجدول على هذا الجدول. |
TextWrapping { get; set; } | يحصل أو يعينTextWrapping للجدول. |
Title { get; set; } | يحصل على عنوان هذا الجدول أو يعينه. يوفر تمثيلًا نصيًا بديلاً للمعلومات الموجودة في الجدول. |
TopPadding { get; set; } | يحصل على مقدار المساحة (بالنقاط) المراد إضافتها فوق محتويات الخلايا أو يعينه. |
VerticalAnchor { get; set; } | يحصل على الكائن الأساسي الذي يجب أن يتم حساب الموضع الرأسي للجدول العائم منه. القيمة الافتراضية هيMargin . |
طُرق
اسم | وصف |
---|---|
override Accept(DocumentVisitor) | يقبل زائرًا. |
override AcceptEnd(DocumentVisitor) | يقبل زائرًا لزيارة نهاية الجدول. |
override AcceptStart(DocumentVisitor) | يقبل زائرًا لزيارة بداية الجدول. |
AppendChild<T>(T) | يضيف العقدة المحددة إلى نهاية قائمة العقد الفرعية لهذه العقدة. |
AutoFit(AutoFitBehavior) | تغيير حجم الجدول والخلايا وفقًا لسلوك الملاءمة التلقائية المحدد. |
ClearBorders() | يزيل جميع حدود الجدول والخلايا في هذا الجدول. |
ClearShading() | يزيل كل التظليل على الجدول. |
Clone(bool) | ينشئ نسخة مكررة من العقدة. |
ConvertToHorizontallyMergedCells() | يحول الخلايا المندمجة أفقيًا حسب العرض إلى خلايا مندمجة حسبHorizontalMerge . |
CreateNavigator() | ينشئ متصفحًا يمكن استخدامه للتنقل بين العقد وقراءتها. |
EnsureMinimum() | إذا لم يكن للجدول صفوف، يتم إنشاء صف وإضافتهRow . |
GetAncestor(NodeType) | يحصل على السلف الأول للعنصر المحددNodeType . |
GetAncestor(Type) | يحصل على السلف الأول لنوع الكائن المحدد. |
GetChild(NodeType, int, bool) | يعيد عقدة فرعية رقم N تطابق النوع المحدد. |
GetChildNodes(NodeType, bool) | يعيد مجموعة حية من العقد الفرعية التي تطابق النوع المحدد. |
GetEnumerator() | يوفر الدعم لكل تكرار للأسلوب على العقد الفرعية لهذه العقدة. |
override GetText() | يحصل على نص هذه العقدة وجميع أبنائها. |
IndexOf(Node) | يعيد مؤشر العقدة الفرعية المحددة في مجموعة العقد الفرعية. |
InsertAfter<T>(T, Node) | يقوم بإدراج العقدة المحددة فورًا بعد عقدة المرجع المحددة. |
InsertBefore<T>(T, Node) | يقوم بإدراج العقدة المحددة مباشرة قبل عقدة المرجع المحددة. |
NextPreOrder(Node) | يحصل على العقدة التالية وفقًا لخوارزمية عبور شجرة الترتيب المسبق. |
PrependChild<T>(T) | يضيف العقدة المحددة إلى بداية قائمة العقد الفرعية لهذه العقدة. |
PreviousPreOrder(Node) | يحصل على العقدة السابقة وفقًا لخوارزمية عبور شجرة الترتيب المسبق. |
Remove() | يزيل نفسه من الأصل. |
RemoveAllChildren() | يزيل جميع العقد الفرعية للعقدة الحالية. |
RemoveChild<T>(T) | يزيل العقدة الفرعية المحددة. |
RemoveSmartTags() | يزيل الكلSmartTag العقد المنحدرة من العقدة الحالية. |
SelectNodes(string) | يحدد قائمة العقد المطابقة لتعبير XPath. |
SelectSingleNode(string) | يحدد الأولNode الذي يتطابق مع تعبير XPath. |
SetBorder(BorderType, LineStyle, double, Color, bool) | تعيين حدود الجدول المحددة إلى نمط الخط والعرض واللون المحددين. |
SetBorders(LineStyle, double, Color) | تعيين حدود جميع الجدول إلى نمط الخط والعرض واللون المحدد. |
SetShading(TextureIndex, Color, Color) | تعيين التظليل إلى القيم المحددة على الجدول بأكمله. |
ToString(SaveFormat) | يصدر محتوى العقدة إلى سلسلة بالتنسيق المحدد. |
ToString(SaveOptions) | يقوم بتصدير محتوى العقدة إلى سلسلة باستخدام خيارات الحفظ المحددة. |
ملاحظات
Table
هي عقدة على مستوى الكتلة ويمكن أن تكون طفلة للفئات المشتقة منStory
أو InlineStory
.
Table
يمكن أن تحتوي على واحد أو أكثرRow
العقد.
يجب أن يحتوي الجدول الصحيح الأدنى على واحد على الأقلRow
.
أمثلة
يوضح كيفية إنشاء جدول.
Document doc = new Document();
Table table = new Table(doc);
doc.FirstSection.Body.AppendChild(table);
// تحتوي الجداول على صفوف تحتوي على خلايا، والتي قد تحتوي على فقرات
// مع العناصر النموذجية مثل التشغيلات والأشكال وحتى الجداول الأخرى.
// سيؤدي استدعاء طريقة "EnsureMinimum" على جدول إلى ضمان ذلك
//يحتوي الجدول على صف واحد وخلية وفقرة واحدة على الأقل.
Row firstRow = new Row(doc);
table.AppendChild(firstRow);
Cell firstCell = new Cell(doc);
firstRow.AppendChild(firstCell);
Paragraph paragraph = new Paragraph(doc);
firstCell.AppendChild(paragraph);
//أضف نصًا إلى الخلية الأولى في الصف الأول من الجدول.
Run run = new Run(doc, "Hello world!");
paragraph.AppendChild(run);
doc.Save(ArtifactsDir + "Table.CreateTable.docx");
يوضح كيفية تكرار جميع الجداول في المستند وطباعة محتويات كل خلية.
Document doc = new Document(MyDir + "Tables.docx");
TableCollection tables = doc.FirstSection.Body.Tables;
Assert.AreEqual(2, tables.ToArray().Length);
for (int i = 0; i < tables.Count; i++)
{
Console.WriteLine($"Start of Table {i}");
RowCollection rows = tables[i].Rows;
// يمكننا استخدام طريقة "ToArray" على مجموعة صفوف لاستنساخها في مصفوفة.
Assert.AreEqual(rows, rows.ToArray());
Assert.AreNotSame(rows, rows.ToArray());
for (int j = 0; j < rows.Count; j++)
{
Console.WriteLine($"\tStart of Row {j}");
CellCollection cells = rows[j].Cells;
// يمكننا استخدام طريقة "ToArray" على مجموعة خلايا لاستنساخها في مصفوفة.
Assert.AreEqual(cells, cells.ToArray());
Assert.AreNotSame(cells, cells.ToArray());
for (int k = 0; k < cells.Count; k++)
{
string cellText = cells[k].ToString(SaveFormat.Text).Trim();
Console.WriteLine($"\t\tContents of Cell:{k} = \"{cellText}\"");
}
Console.WriteLine($"\tEnd of Row {j}");
}
Console.WriteLine($"End of Table {i}\n");
}
يوضح كيفية إنشاء جدول 2x2 منسق.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.StartTable();
builder.InsertCell();
builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;
builder.Write("Row 1, cell 1.");
builder.InsertCell();
builder.Write("Row 1, cell 2.");
builder.EndRow();
// أثناء إنشاء الجدول، سيقوم منشئ المستند بتطبيق قيم خصائص RowFormat/CellFormat الحالية
// إلى الصف/الخلية الحالية التي يتواجد بها المؤشر وأي صفوف/خلايا جديدة أثناء إنشائها.
Assert.AreEqual(CellVerticalAlignment.Center, table.Rows[0].Cells[0].CellFormat.VerticalAlignment);
Assert.AreEqual(CellVerticalAlignment.Center, table.Rows[0].Cells[1].CellFormat.VerticalAlignment);
builder.InsertCell();
builder.RowFormat.Height = 100;
builder.RowFormat.HeightRule = HeightRule.Exactly;
builder.CellFormat.Orientation = TextOrientation.Upward;
builder.Write("Row 2, cell 1.");
builder.InsertCell();
builder.CellFormat.Orientation = TextOrientation.Downward;
builder.Write("Row 2, cell 2.");
builder.EndRow();
builder.EndTable();
// لا تتأثر الصفوف والخلايا المضافة مسبقًا بأثر رجعي بالتغييرات التي تطرأ على تنسيق المنشئ.
Assert.AreEqual(0, table.Rows[0].RowFormat.Height);
Assert.AreEqual(HeightRule.Auto, table.Rows[0].RowFormat.HeightRule);
Assert.AreEqual(100, table.Rows[1].RowFormat.Height);
Assert.AreEqual(HeightRule.Exactly, table.Rows[1].RowFormat.HeightRule);
Assert.AreEqual(TextOrientation.Upward, table.Rows[1].Cells[0].CellFormat.Orientation);
Assert.AreEqual(TextOrientation.Downward, table.Rows[1].Cells[1].CellFormat.Orientation);
doc.Save(ArtifactsDir + "DocumentBuilder.BuildTable.docx");
يوضح كيفية إنشاء جدول متداخل دون استخدام منشئ المستندات.
public void CreateNestedTable()
{
Document doc = new Document();
// قم بإنشاء الجدول الخارجي بثلاثة صفوف وأربعة أعمدة، ثم قم بإضافته إلى المستند.
Table outerTable = CreateTable(doc, 3, 4, "Outer Table");
doc.FirstSection.Body.AppendChild(outerTable);
// قم بإنشاء جدول آخر يحتوي على صفين وعمودين ثم أدخله في الخلية الأولى للجدول الأول.
Table innerTable = CreateTable(doc, 2, 2, "Inner Table");
outerTable.FirstRow.FirstCell.AppendChild(innerTable);
doc.Save(ArtifactsDir + "Table.CreateNestedTable.docx");
}
/// <summary>
/// إنشاء جدول جديد في المستند بالأبعاد والنص المحددين في كل خلية.
/// </summary>
private static Table CreateTable(Document doc, int rowCount, int cellCount, string cellText)
{
Table table = new Table(doc);
for (int rowId = 1; rowId <= rowCount; rowId++)
{
Row row = new Row(doc);
table.AppendChild(row);
for (int cellId = 1; cellId <= cellCount; cellId++)
{
Cell cell = new Cell(doc);
cell.AppendChild(new Paragraph(doc));
cell.FirstParagraph.AppendChild(new Run(doc, cellText));
row.AppendChild(cell);
}
}
//يمكنك استخدام خصائص "العنوان" و"الوصف" لإضافة عنوان ووصف على التوالي إلى الجدول الخاص بك.
// يجب أن يحتوي الجدول على صف واحد على الأقل قبل أن نتمكن من استخدام هذه الخصائص.
// هذه الخصائص مفيدة للمستندات .docx المتوافقة مع ISO / IEC 29500 (انظر فئة OoxmlCompliance).
// إذا قمنا بحفظ المستند بتنسيقات ما قبل ISO/IEC 29500، فإن Microsoft Word يتجاهل هذه الخصائص.
table.Title = "Aspose table title";
table.Description = "Aspose table description";
return table;
}
أنظر أيضا
- class CompositeNode
- مساحة الاسم Aspose.Words.Tables
- المجسم Aspose.Words