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) | يقبل الزائر. |
AppendChild(Node) | إضافة العقدة المحددة إلى نهاية قائمة العقد التابعة لهذه العقدة. |
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(Node, Node) | يقوم بإدراج العقدة المحددة مباشرة بعد العقدة المرجعية المحددة. |
InsertBefore(Node, Node) | يقوم بإدراج العقدة المحددة مباشرة قبل العقدة المرجعية المحددة. |
NextPreOrder(Node) | الحصول على العقدة التالية وفقًا لخوارزمية اجتياز شجرة الطلب المسبق. |
PrependChild(Node) | إضافة العقدة المحددة إلى بداية قائمة العقد التابعة لهذه العقدة. |
PreviousPreOrder(Node) | الحصول على العقدة السابقة وفقًا لخوارزمية اجتياز شجرة الطلب المسبق. |
Remove() | يزيل نفسه من الأصل. |
RemoveAllChildren() | إزالة جميع العقد الفرعية للعقدة الحالية. |
RemoveChild(Node) | إزالة العقدة الفرعية المحددة. |
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