Cell

Cell class

Bir tablo hücresini temsil eder.

public class Cell : CompositeNode

yapıcılar

İsim Tanım
Cell(DocumentBase) Yeni bir örneğini başlatır Hücre sınıf.

Özellikleri

İsim Tanım
CellFormat { get; } Hücrenin biçimlendirme özelliklerine erişim sağlar.
ChildNodes { get; } Bu düğümün tüm acil alt düğümlerini alır.
Count { get; } Bu düğümün acil alt öğelerinin sayısını alır.
CustomNodeId { get; set; } Özel düğüm tanımlayıcısını belirtir.
virtual Document { get; } Bu düğümün ait olduğu belgeyi alır.
FirstChild { get; } Düğümün ilk alt öğesini alır.
FirstParagraph { get; } En yakın alt öğeler arasında ilk paragrafı alır.
HasChildNodes { get; } Bu düğümün herhangi bir alt düğümü varsa doğru döndürür.
override IsComposite { get; } Bu düğümün alt düğümleri olabileceğinden true değerini döndürür.
IsFirstCell { get; } Bu, bir satırdaki ilk hücreyse doğrudur; aksi halde yanlış.
IsLastCell { get; } Bu, bir satırdaki son hücreyse doğrudur; aksi halde yanlış.
LastChild { get; } Düğümün son alt öğesini alır.
LastParagraph { get; } En yakın alt öğeler arasında son paragrafı alır.
NextSibling { get; } Bu düğümden hemen sonraki düğümü alır.
override NodeType { get; } İade DüğümTürü.Hücre .
Paragraphs { get; } Hücrenin doğrudan alt öğeleri olan bir paragraf koleksiyonu alır.
ParentNode { get; } Bu düğümün hemen üst öğesini alır.
ParentRow { get; } Hücrenin üst satırını döndürür.
PreviousSibling { get; } Bu düğümden hemen önceki düğümü alır.
Range { get; } Bir döndürür Menzil belgenin bu düğümde bulunan bölümünü temsil eden nesne.
Tables { get; } Hücrenin hemen alt öğeleri olan tabloların bir koleksiyonunu alır.

yöntemler

İsim Tanım
override Accept(DocumentVisitor) Bir ziyaretçiyi kabul eder.
AppendChild(Node) Belirtilen düğümü, bu düğüm için alt düğümler listesinin sonuna ekler.
Clone(bool) Düğümün bir kopyasını oluşturur.
CreateNavigator() Sistem kullanımı için ayrılmıştır. IXPathNavigable.
EnsureMinimum() Son alt öğe bir paragraf değilse, boş bir paragraf oluşturur ve ekler.
GetAncestor(NodeType) Belirtilenin ilk atasını alırNodeType .
GetAncestor(Type) Belirtilen nesne türünün ilk üst öğesini alır.
GetChild(NodeType, int, bool) Belirtilen türle eşleşen N. alt düğümü döndürür.
GetChildNodes(NodeType, bool) Belirtilen türle eşleşen canlı bir alt düğüm koleksiyonu döndürür.
GetEnumerator() Bu düğümün alt düğümleri üzerinde her stil yinelemesi için destek sağlar.
override GetText() Bu düğümün ve tüm alt öğelerinin metnini alır.
IndexOf(Node) Alt düğüm dizisindeki belirtilen alt düğümün dizinini döndürür.
InsertAfter(Node, Node) Belirtilen referans düğümünden hemen sonra belirtilen düğümü ekler.
InsertBefore(Node, Node) Belirtilen düğümü, belirtilen referans düğümünden hemen önce ekler.
NextPreOrder(Node) Ön sipariş ağaç geçiş algoritmasına göre sonraki düğümü alır.
PrependChild(Node) Belirtilen düğümü, bu düğüm için alt düğümler listesinin başına ekler.
PreviousPreOrder(Node) Ön sipariş ağacı geçiş algoritmasına göre önceki düğümü alır.
Remove() Kendini üst öğeden kaldırır.
RemoveAllChildren() Geçerli düğümün tüm alt düğümlerini kaldırır.
RemoveChild(Node) Belirtilen alt düğümü kaldırır.
RemoveSmartTags() Tümünü kaldırırSmartTag geçerli düğümün alt düğümleri.
SelectNodes(string) XPath ifadesiyle eşleşen düğümlerin listesini seçer.
SelectSingleNode(string) XPath ifadesiyle eşleşen ilk Düğümü seçer.
ToString(SaveFormat) Düğümün içeriğini belirtilen biçimde bir dizeye aktarır.
ToString(SaveOptions) Belirtilen kaydetme seçeneklerini kullanarak düğümün içeriğini bir dizeye aktarır.

Notlar

Hücre sadece bir çocuğun çocuğu olabilir Sıra.

Hücre blok düzeyinde düğümler içerebilir Paragraf ve Masa.

Minimum geçerli bir hücrenin en az bir tane olması gerekir Paragraf.

Örnekler

Bir tablonun nasıl oluşturulacağını gösterir.

Document doc = new Document();
Table table = new Table(doc);
doc.FirstSection.Body.AppendChild(table);

// Tablolar, paragraflar içerebilen hücreler içeren satırlar içerir
// koşular, şekiller ve hatta diğer tablolar gibi tipik öğelerle.
// Bir tabloda "EnsureMinimum" yöntemini çağırmak,
// tabloda en az bir satır, hücre ve paragraf var.
Row firstRow = new Row(doc);
table.AppendChild(firstRow);

Cell firstCell = new Cell(doc);
firstRow.AppendChild(firstCell);

Paragraph paragraph = new Paragraph(doc);
firstCell.AppendChild(paragraph);

// Tablonun ilk satırındaki ilk aramaya metin ekleyin.
Run run = new Run(doc, "Hello world!");
paragraph.AppendChild(run);

doc.Save(ArtifactsDir + "Table.CreateTable.docx");

Belgedeki tüm tabloların nasıl yineleneceğini ve her hücrenin içeriğinin nasıl yazdırılacağını gösterir.

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;

    // Bir diziye klonlamak için bir satır koleksiyonunda "ToArray" yöntemini kullanabiliriz.
    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;

        // Bir hücre koleksiyonunu bir diziye klonlamak için "ToArray" yöntemini kullanabiliriz.
        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");
}

Belge oluşturucu kullanmadan iç içe tablonun nasıl oluşturulacağını gösterir.

public void CreateNestedTable()
{
    Document doc = new Document();

    // Üç satır ve dört sütunlu dış tabloyu oluşturun ve ardından belgeye ekleyin.
    Table outerTable = CreateTable(doc, 3, 4, "Outer Table");
    doc.FirstSection.Body.AppendChild(outerTable);

    // İki satır ve iki sütun içeren başka bir tablo oluşturun ve ardından bunu ilk tablonun ilk hücresine ekleyin.
    Table innerTable = CreateTable(doc, 2, 2, "Inner Table");
    outerTable.FirstRow.FirstCell.AppendChild(innerTable);

    doc.Save(ArtifactsDir + "Table.CreateNestedTable.docx");
}

/// <summary>
/// Her hücrede verilen boyutlar ve metin ile belgede yeni bir tablo oluşturur.
/// </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);
        }
    }

    // Tablonuza sırasıyla başlık ve açıklama eklemek için "Title" ve "Description" özelliklerini kullanabilirsiniz.
    // Bu özellikleri kullanabilmemiz için tablonun en az bir satırı olmalıdır.
    // Bu özellikler, ISO/IEC 29500 uyumlu .docx belgeleri için anlamlıdır (bkz. OoxmlCompliance sınıfı).
    // Belgeyi ISO/IEC 29500 öncesi formatlarda kaydedersek, Microsoft Word bu özellikleri yok sayar.
    table.Title = "Aspose table title";
    table.Description = "Aspose table description";

    return table;
}

Ayrıca bakınız