Table

Table class

Word belgesindeki bir tabloyu temsil eder.

Daha fazla bilgi edinmek için şu adresi ziyaret edin:Tablolarla Çalışma belgeleme makalesi.

public class Table : CompositeNode

yapıcılar

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

Özellikleri

İsimTanım
AbsoluteHorizontalDistance { get; set; }Tablo özellikleri tarafından belirtilen mutlak yatay yüzen tablo konumunu noktalar halinde alır veya ayarlar. Varsayılan değer 0’dır.
AbsoluteVerticalDistance { get; set; }Tablo özellikleri tarafından belirtilen mutlak dikey yüzen tablo konumunu noktalar halinde alır veya ayarlar. Varsayılan değer 0’dır.
Alignment { get; set; }Satır içi tablonun belgede nasıl hizalanacağını belirtir.
AllowAutoFit { get; set; }Microsoft Word ve Aspose.Words’ün bir tabloda hücrelerin boyutunu içeriğe uyacak şekilde otomatik olarak değiştirmesine olanak tanır.
AllowCellSpacing { get; set; }“Hücreler arasında boşluk bırakılmasına izin ver” seçeneğini alır veya ayarlar.
AllowOverlap { get; }Bir yüzen tablonun, görüntülendiğinde belgedeki diğer yüzen nesnelerin kendi kapsamlarını kaplamasına izin verip vermeyeceğini alır. Varsayılan değerdoğru .
Bidi { get; set; }Bunun sağdan sola bir tablo olup olmadığını alır veya ayarlar.
BottomPadding { get; set; }Hücrelerin içeriklerinin altına eklenecek boşluk miktarını (nokta 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 hemen alt düğümlerinin 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 bulunan bilgilerin alternatif bir metin gösterimini sağlar.
DistanceBottom { get; set; }Tablo altı ile çevresindeki metin arasındaki mesafeyi nokta cinsinden alır veya ayarlar.
DistanceLeft { get; set; }Tablonun solu ile çevresindeki metin arasındaki mesafeyi noktalar halinde alır veya ayarlar.
DistanceRight { get; set; }Tablonun sağ tarafı ile çevresindeki metin arasındaki mesafeyi puan cinsinden alır veya ayarlar.
DistanceTop { get; set; }Tablo üstü ile çevresindeki metin arasındaki mesafeyi puan 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; }Geri Döndürürdoğru eğer bu düğümün herhangi bir alt düğümü varsa.
HorizontalAnchor { get; set; }Yüzen tablonun yatay konumlandırmasının hesaplanacağı temel nesneyi alır. Varsayılan değerColumn .
override IsComposite { get; }Geri Döndürürdoğru çünkü bu düğümün alt düğümleri 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ücrelerin içeriklerinin soluna eklenecek boşluk miktarını (nokta cinsinden) alır veya ayarlar.
NextSibling { get; }Bu düğümü hemen takip eden düğümü alır.
override NodeType { get; }Geri DöndürürTable .
ParentNode { get; }Bu düğümün en yakın üst düğümünü 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; }BirRangebu düğümde bulunan bir belgenin bölümünü temsil eden nesne.
RelativeHorizontalAlignment { get; set; }Yüzen tablonun göreli yatay hizalamasını alır veya ayarlar.
RelativeVerticalAlignment { get; set; }Yüzen tablonun göreli dikey hizalamasını alır veya ayarlar.
RightPadding { get; set; }Hücrelerin içeriklerinin sağına eklenecek boşluk miktarını (nokta cinsinden) alır veya ayarlar.
Rows { get; }Tablonun satırlarına yazılmış 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 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; }Bu tabloya bir tablo stilinin 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 bulunan bilgilerin alternatif bir metin gösterimini sağlar.
TopPadding { get; set; }Hücrelerin içeriklerinin üstüne eklenecek boşluk miktarını (nokta cinsinden) alır veya ayarlar.
VerticalAnchor { get; set; }Yüzen tablonun dikey konumlandırmasının hesaplanacağı temel nesneyi alır. Varsayılan değerMargin .

yöntemler

İsimTanım
override Accept(DocumentVisitor)Bir ziyaretçiyi kabul eder.
override AcceptEnd(DocumentVisitor)Tablonun sonunu ziyaret eden bir ziyaretçiyi kabul eder.
override AcceptStart(DocumentVisitor)Tablonun başlangıcını ziyaret eden bir ziyaretçiyi kabul eder.
AppendChild<T>(T)Belirtilen düğümü bu düğüm için alt düğümler listesinin sonuna ekler.
AutoFit(AutoFitBehavior)Tabloyu ve hücreleri belirtilen otomatik uyum davranışına göre yeniden boyutlandırır.
ClearBorders()Bu tablodaki tüm tablo ve hücre kenarlıklarını kaldırır.
ClearShading()Tablodaki tüm gölgelendirmeyi kaldırır.
Clone(bool)Düğümün bir kopyasını oluşturur.
ConvertToHorizontallyMergedCells()Genişliğe göre yatay olarak birleştirilen hücreleri, genişliğe göre birleştirilen hücrelere dönüştürür.HorizontalMerge .
CreateNavigator()Düğümleri gezmek ve okumak için kullanılabilen gezgini oluşturur.
EnsureMinimum()Tabloda satır yoksa bir tane oluşturur ve eklerRow .
GetAncestor(NodeType)Belirtilenin ilk atasını alırNodeType .
GetAncestor(Type)Belirtilen nesne türünün ilk atasını 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 düğümlerinin metnini alır.
IndexOf(Node)Alt düğüm dizisindeki belirtilen alt düğümün dizinini döndürür.
InsertAfter<T>(T, Node)Belirtilen düğümü belirtilen referans düğümünden hemen sonra ekler.
InsertBefore<T>(T, Node)Belirtilen düğümü belirtilen referans düğümünden hemen önce ekler.
NextPreOrder(Node)Ön sipariş ağacı geçiş algoritmasına göre bir sonraki düğümü alır.
PrependChild<T>(T)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 ana öğeden kaldırır.
RemoveAllChildren()Geçerli düğümün tüm alt düğümlerini kaldırır.
RemoveChild<T>(T)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 bir 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ğe ve renge ayarlar.
SetBorders(LineStyle, double, Color)Tüm tablo kenarlıklarını belirtilen çizgi stiline, genişliğe ve renge ayarlar.
SetShading(TextureIndex, Color, Color)Tüm tabloda gölgelendirmeyi belirtilen değerlere ayarlar.
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

Table blok düzeyinde bir düğümdür ve türetilen sınıfların bir çocuğu olabilirStory veya InlineStory.

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

Minimum geçerli bir tablonun en az bir tane 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, hücreler içeren satırlar ve bu satırların içinde paragraflar olabilir
// tipik elemanlar olan koşular, şekiller ve hatta diğer tablolar ile.
// Bir tabloda "EnsureMinimum" metodunu ç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 hücreye metin ekle.
Run run = new Run(doc, "Hello world!");
paragraph.AppendChild(run);

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

Belgedeki tüm tablolarda nasıl gezinileceğ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 diziye kopyalamak için "ToArray" metodunu 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 diziye kopyalamak için "ToArray" metodunu 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ş 2x2’lik bir 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();

// Tablo oluşturulurken, belge oluşturucu geçerli RowFormat/CellFormat özellik değerlerini uygulayacaktır
// imlecin bulunduğu geçerli satıra/hücreye ve bunları oluştururken oluşacak 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();

// Daha önce eklenen satırlar ve hücreler, oluşturucunun biçimlendirmesinde yapılan 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 geçmiş 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ştur ve ardından bunu belgeye ekle.
    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ştur ve bunu ilk tablonun ilk hücresine ekle.
    Table innerTable = CreateTable(doc, 2, 2, "Inner Table");
    outerTable.FirstRow.FirstCell.AppendChild(innerTable);

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

/// <summary>
/// Belgede, her hücrede belirtilen boyutlar ve metinle 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 bir 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ırının olması gerekir.
    // Bu özellikler ISO/IEC 29500 uyumlu .docx belgeleri için anlamlıdır (OoxmlCompliance sınıfına bakın).
    // Belgeyi ISO/IEC 29500 öncesi biçimlerde kaydedersek, Microsoft Word bu özellikleri yoksayar.
    table.Title = "Aspose table title";
    table.Description = "Aspose table description";

    return table;
}

Ayrıca bakınız