Table

Table class

Word belgesindeki bir tabloyu temsil eder.

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

public class Table : CompositeNode

yapıcılar

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

Özellikleri

İsimTanım
AbsoluteHorizontalDistance { get; set; }Tablo özellikleri tarafından belirtilen mutlak yatay kayan tablo konumunu puan cinsinden alır veya ayarlar. Varsayılan değer 0. ‘dir
AbsoluteVerticalDistance { get; set; }Tablo özellikleri tarafından belirtilen mutlak dikey kayan tablo konumunu puan cinsinden alır veya ayarlar. Varsayılan değer 0.
Alignment { get; set; }Satır içi tablonun belgede nasıl hizalanacağını belirtir.
AllowAutoFit { get; set; }Microsoft Word ve Aspose.Words’ün tablodaki hücreleri içeriklerine uyacak şekilde otomatik olarak yeniden boyutlandırmasına olanak tanır.
AllowCellSpacing { get; set; }“Hücreler arasındaki boşluğa izin ver” seçeneğini alır veya ayarlar.
AllowOverlap { get; }Bir kayan tablonun, belge içindeki diğer kayan nesnelerin görüntülendiğinde kapsamlarıyla çakışmasına izin verip vermeyeceğini alır. Varsayılan değer:doğru .
Bidi { get; set; }Bunun sağdan sola bir tablo olup olmadığını alır veya ayarlar.
BottomPadding { get; set; }Hücre içeriğinin altına eklenecek alan miktarını (puan cinsinden) alır veya ayarlar.
CellSpacing { get; set; }Hücreler arasındaki boşluk miktarını (nokta cinsinden) alır veya ayarlar.
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.
Description { get; set; }Bu tablonun açıklamasını alır veya ayarlar. Tabloda yer alan bilgilerin alternatif metin gösterimini sağlar.
DistanceBottom { get; set; }Tablonun alt kısmı ile onu çevreleyen metin arasındaki mesafeyi nokta cinsinden alır veya ayarlar.
DistanceLeft { get; set; }Soldaki tablo ile çevresindeki metin arasındaki mesafeyi puan cinsinden alır veya ayarlar.
DistanceRight { get; set; }Tablonun sağı ile onu çevreleyen metin arasındaki mesafeyi nokta cinsinden alır veya ayarlar.
DistanceTop { get; set; }Masa üstü ile etrafındaki metin arasındaki mesafeyi nokta cinsinden alır veya ayarlar.
virtual Document { get; }Bu düğümün ait olduğu belgeyi alır.
FirstChild { get; }Düğümün ilk çocuğunu alır.
FirstRow { get; }İlkini döndürürRow tablodaki düğüm.
HasChildNodes { get; }İadelerdoğru bu düğümün herhangi bir alt düğümü varsa.
HorizontalAnchor { get; set; }Kayan tablonun yatay konumunun hesaplanması gereken temel nesneyi alır. Varsayılan değer:Column .
override IsComposite { get; }İadelerdoğru çünkü bu düğüm alt düğümlere sahip olabilir.
LastChild { get; }Düğümün son çocuğunu alır.
LastRow { get; }Sonuncuyu döndürürRow tablodaki düğüm.
LeftIndent { get; set; }Tablonun sol girintisini temsil eden değeri alır veya ayarlar.
LeftPadding { get; set; }Hücre içeriğinin soluna eklenecek alan miktarını (puan cinsinden) alır veya ayarlar.
NextSibling { get; }Bu düğümden hemen sonra gelen düğümü alır.
override NodeType { get; }İadelerTable .
ParentNode { get; }Bu düğümün doğrudan ebeveynini alır.
PreferredWidth { get; set; }Tablonun tercih edilen genişliğini alır veya ayarlar.
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.
RelativeHorizontalAlignment { get; set; }Kayan tablonun göreceli yatay hizalamasını alır veya ayarlar.
RelativeVerticalAlignment { get; set; }Kayan tablonun göreli dikey hizalamasını alır veya ayarlar.
RightPadding { get; set; }Hücre içeriğinin sağına eklenecek alan miktarını (puan cinsinden) alır veya ayarlar.
Rows { get; }Tablonun satırlarına yazılı erişim sağlar.
Style { get; set; }Bu tabloya uygulanan tablo stilini alır veya ayarlar.
StyleIdentifier { get; set; }Bu tabloya uygulanan tablo stilinin yerel ayardan bağımsız stil tanımlayıcısını alır veya ayarlar.
StyleName { get; set; }Bu tabloya uygulanan tablo stilinin adını alır veya ayarlar.
StyleOptions { get; set; }Bir tablo stilinin bu tabloya nasıl uygulanacağını belirten bit bayraklarını alır veya ayarlar.
TextWrapping { get; set; }Alır veya ayarlarTextWrapping tablo. için
Title { get; set; }Bu tablonun başlığını alır veya ayarlar. Tabloda yer alan bilgilerin alternatif metin gösterimini sağlar.
TopPadding { get; set; }Hücre içeriğinin üzerine eklenecek alan miktarını (puan cinsinden) alır veya ayarlar.
VerticalAnchor { get; set; }Kayan tablonun dikey konumunun hesaplanması gereken temel nesneyi alır. Varsayılan değer:Margin .

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.
AutoFit(AutoFitBehavior)Belirtilen otomatik sığdırma davranışına göre tabloyu ve hücreleri yeniden boyutlandırır.
ClearBorders()Bu tablodaki tüm tablo ve hücre kenarlıklarını kaldırır.
ClearShading()Masadaki tüm gölgelemeyi kaldırır.
Clone(bool)Düğümün bir kopyasını oluşturur.
ConvertToHorizontallyMergedCells()Yatay olarak genişliğe göre birleştirilmiş hücreleri, genişliğe göre birleştirilmiş hücrelere dönüştürürHorizontalMerge .
CreateNavigator()Düğümlerin arasında geçiş yapmak ve düğümleri okumak için kullanılabilecek gezgini oluşturur.
EnsureMinimum()Tabloda hiç satır yoksa bir tane oluşturur ve eklerRow .
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.
SetBorder(BorderTypeLineStyle, double, Color, bool)Belirtilen tablo kenarlığını belirtilen çizgi stiline, genişliğine ve rengine ayarlar.
SetBorders(LineStyle, double, Color)Tüm tablo kenarlıklarını belirtilen çizgi stiline, genişliğine ve rengine ayarlar.
SetShading(TextureIndex, Color, Color)Gölgelendirmeyi tüm tablo üzerinde belirtilen değerlere ayarlar.
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

Tableblok düzeyinde bir düğümdür ve türetilmiş sınıfların çocuğu olabilir.Story veya InlineStory.

Table bir veya daha fazlasını içerebilirRow düğümler.

Minimum geçerli tablonun en az bir taneye sahip olması gerekirRow.

Ö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");
}

Biçimlendirilmiş bir 2x2 tablonun nasıl oluşturulacağını gösterir.

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();

// Tabloyu oluştururken belge oluşturucu mevcut RowFormat/CellFormat özellik değerlerini uygulayacaktır
// imlecin bulunduğu geçerli satıra/hücreye ve onları oluştururken yeni satırlara/hücrelere.
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();

// Önceden eklenen satırlar ve hücreler, oluşturucunun biçimlendirmesindeki değişikliklerden geriye dönük olarak etkilenmez.
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");

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