Cell
محتويات
[
يخفي
]Cell class
يمثل خلية جدول.
لمعرفة المزيد، قم بزيارةالعمل مع الجداول مقالة توثيقية.
public class Cell : CompositeNode
المنشئون
اسم | وصف |
---|---|
Cell(DocumentBase) | تهيئة مثيل جديد لـCell فئة. |
الخصائص
اسم | وصف |
---|---|
CellFormat { get; } | يوفر الوصول إلى خصائص تنسيق الخلية. |
Count { get; } | يحصل على عدد الأطفال المباشرين لهذه العقدة. |
CustomNodeId { get; set; } | يحدد معرف العقدة المخصصة. |
virtual Document { get; } | الحصول على المستند الذي تنتمي إليه هذه العقدة. |
FirstChild { get; } | يحصل على الطفل الأول للعقدة. |
FirstParagraph { get; } | يحصل على الفقرة الأولى بين الأطفال المباشرين. |
HasChildNodes { get; } | إرجاعحقيقي إذا كانت هذه العقدة تحتوي على أي عقد فرعية. |
override IsComposite { get; } | إرجاعحقيقي لأن هذه العقدة يمكن أن تحتوي على عقد فرعية. |
IsFirstCell { get; } | صحيح إذا كانت هذه هي الخلية الأولى داخل الصف؛ كاذبة خلاف ذلك. |
IsLastCell { get; } | صحيح إذا كانت هذه هي الخلية الأخيرة داخل الصف؛ كاذبة خلاف ذلك. |
LastChild { get; } | يحصل على الطفل الأخير للعقدة. |
LastParagraph { get; } | يحصل على الفقرة الأخيرة بين الأطفال المباشرين. |
NextCell { get; } | يحصل على التاليCell العقدة |
NextSibling { get; } | يحصل على العقدة التي تلي هذه العقدة مباشرة. |
override NodeType { get; } | إرجاعCell . |
Paragraphs { get; } | الحصول على مجموعة من الفقرات التي تعتبر فرعية مباشرة للخلية. |
ParentNode { get; } | يحصل على الأصل المباشر لهذه العقدة. |
ParentRow { get; } | إرجاع الصف الأصلي للخلية. |
PreviousCell { get; } | يحصل على السابقCell العقدة |
PreviousSibling { get; } | يحصل على العقدة التي تسبق هذه العقدة مباشرة. |
Range { get; } | إرجاع أRange الكائن الذي يمثل جزء المستند الموجود في هذه العقدة. |
Tables { get; } | الحصول على مجموعة من الجداول التي تعتبر فرعية مباشرة للخلية. |
طُرق
اسم | وصف |
---|---|
override Accept(DocumentVisitor) | يقبل الزائر. |
AppendChild(Node) | إضافة العقدة المحددة إلى نهاية قائمة العقد التابعة لهذه العقدة. |
Clone(bool) | إنشاء نسخة مكررة من العقدة. |
CreateNavigator() | إنشاء متصفح يمكن استخدامه لاجتياز العقد وقراءتها. |
EnsureMinimum() | إذا لم يكن العنصر الفرعي الأخير فقرة، فسيتم إنشاء فقرة واحدة فارغة وإلحاقها. |
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. |
ToString(SaveFormat) | تصدير محتوى العقدة إلى سلسلة بالتنسيق المحدد. |
ToString(SaveOptions) | تصدير محتوى العقدة إلى سلسلة باستخدام خيارات الحفظ المحددة. |
ملاحظات
Cell
لا يمكن إلا أن يكون طفلاRow
.
Cell
يمكن أن تحتوي على عقد على مستوى الكتلةParagraph
وTable
.
يجب أن تحتوي الخلية الصالحة الدنيا على خلية واحدة على الأقلParagraph
.
أمثلة
يوضح كيفية إنشاء جدول.
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");
}
يوضح كيفية إنشاء جدول متداخل دون استخدام أداة إنشاء المستندات.
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