Cell

Cell class

Bir tablo hücresini temsil eder.

Daha fazlasını öğrenmek için şu adresi ziyaret edin:Tablolarla Çalışmak dokümantasyon makalesi.

public class Cell : CompositeNode

yapıcılar

İsimTanım
Cell(DocumentBase)Yeni bir örneğini başlatırCell class.

Özellikleri

İsimTanım
CellFormat { get; }Hücrenin biçimlendirme özelliklerine erişim sağlar.
Count { get; }Bu düğümün doğrudan 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 çocuğunu alır.
FirstParagraph { get; }Birinci paragrafın ilk paragrafını alır.
HasChildNodes { get; }İadelerdoğru bu düğümün herhangi bir alt düğümü varsa.
override IsComposite { get; }İadelerdoğru çünkü bu düğüm alt düğümlere sahip olabilir.
IsFirstCell { get; }Bu, bir satırın içindeki ilk hücreyse doğrudur; aksi halde yanlış.
IsLastCell { get; }Bu, bir satırın içindeki son hücreyse doğrudur; aksi halde yanlış.
LastChild { get; }Düğümün son çocuğunu alır.
LastParagraph { get; }Hemen alt öğeler arasındaki son paragrafı alır.
NextCell { get; }Sonrakini alırCell düğüm.
NextSibling { get; }Bu düğümden hemen sonra gelen düğümü alır.
override NodeType { get; }İadelerCell .
Paragraphs { get; }Hücrenin doğrudan alt öğeleri olan paragrafların bir koleksiyonunu alır.
ParentNode { get; }Bu düğümün doğrudan ebeveynini alır.
ParentRow { get; }Hücrenin üst satırını döndürür.
PreviousCell { get; }Öncekini alırCell düğüm.
PreviousSibling { get; }Bu düğümden hemen önceki düğümü alır.
Range { get; }Bir değeri döndürürRange Bu düğümde bulunan bir belgenin bölümünü temsil eden nesne.
Tables { get; }Hücrenin doğrudan alt öğeleri olan tabloların bir koleksiyonunu alır.

yöntemler

İsimTanım
override Accept(DocumentVisitor)Ziyaretçi 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()Düğümlerin arasında geçiş yapmak ve düğümleri okumak için kullanılabilecek gezgini oluşturur.
EnsureMinimum()Son alt öğe bir paragraf değilse, boş bir paragraf oluşturur ve ekler.
GetAncestor(NodeType)Belirtilenin ilk atayı alırNodeType .
GetAncestor(Type)Belirtilen nesne türünün ilk atayı alır.
GetChild(NodeType, int, bool)Belirtilen türle eşleşen N’inci alt düğümü döndürür.
GetChildNodes(NodeType, bool)Belirtilen türle eşleşen alt düğümlerin canlı bir koleksiyonunu döndürür.
GetEnumerator()Bu düğümün alt düğümleri üzerindeki 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 dizisinde belirtilen alt düğümün dizinini döndürür.
InsertAfter(NodeNode)Belirtilen düğümü, belirtilen referans düğümünün hemen sonrasına ekler.
InsertBefore(NodeNode)Belirtilen düğümü, belirtilen referans düğümünün hemen öncesine 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ğaç 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ırSmartTagGeçerli düğümün alt düğümleri.
SelectNodes(string)XPath ifadesiyle eşleşen düğümlerin listesini seçer.
SelectSingleNode(string)İlkini seçerNode XPath ifadesiyle eşleşen.
ToString(SaveFormat)Düğümün içeriğini belirtilen formatta bir dizeye aktarır.
ToString(SaveOptions)Belirtilen kaydetme seçeneklerini kullanarak düğümün içeriğini bir dizeye aktarır.

Notlar

Cell sadece bir çocuğun çocuğu olabilirRow.

Cell blok düzeyinde düğümler içerebilirParagraph VeTable.

Minimal geçerli bir hücrenin en az bir taneye sahip olması gerekirParagraph.

Ö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, paragraf içerebilen hücreleri içeren satırları içerir
// diziler, şekiller ve hatta diğer tablolar gibi tipik öğelerle.
// Bir tabloda "EnsureMinimum" yöntemini çağırmak şunları sağlayacaktır:
// 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 çağrıya 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 satır koleksiyonunu bir diziye kopyalamak için "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 kopyalamak 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ütundan oluşan dış tabloyu oluşturup belgeye ekleyin.
    Table outerTable = CreateTable(doc, 3, 4, "Outer Table");
    doc.FirstSection.Body.AppendChild(outerTable);

    // İki satır ve iki sütundan oluşan başka bir tablo oluşturun ve 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 boyut ve metinle 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 "Başlık" ve "Açıklama" özelliklerini kullanabilirsiniz.
    // Bu özellikleri kullanabilmemiz için tablonun en az bir satıra sahip olması gerekir.
    // 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 göz ardı eder.
    table.Title = "Aspose table title";
    table.Description = "Aspose table description";

    return table;
}

Ayrıca bakınız