Table

Table class

Word belgesindeki bir tabloyu temsil eder.

public class Table : CompositeNode

yapıcılar

İsim Tanım
Table(DocumentBase) Yeni bir örneğini başlatır Masa sınıf.

Özellikleri

İsim Tanım
AbsoluteHorizontalDistance { get; set; } Tablo özellikleri tarafından noktalar olarak belirtilen mutlak yatay kayan tablo konumunu alır veya ayarlar. Varsayılan değer 0.
AbsoluteVerticalDistance { get; set; } Tablo özellikleri tarafından noktalar olarak belirtilen mutlak dikey kayan tablo konumunu alır veya ayarlar. Varsayılan değer 0.
Alignment { get; set; } Bir 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ını sağlar.
AllowCellSpacing { get; set; } “Hücreler arasında boşluk bırakmaya izin ver” seçeneğini alır veya ayarlar.
AllowOverlap { get; } Bir kayan tablonun, görüntülendiğinde belgesindeki diğer kayan nesnelerin uzantılarıyla çakışması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ücre içeriğinin altına eklenecek boşluk miktarını (puan olarak) alır veya ayarlar.
CellSpacing { get; set; } Hücreler arasındaki boşluk miktarını (nokta olarak) alır veya ayarlar.
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.
Description { get; set; } Bu tablonun açıklamasını alır veya ayarlar. Tabloda yer alan bilgilerin alternatif bir metin gösterimini sağlar.
DistanceBottom { get; } Tablo altı ile çevresindeki metin arasındaki mesafeyi nokta cinsinden alır.
DistanceLeft { get; } Soldaki tablo ile çevresindeki metin arasındaki mesafeyi puan cinsinden alır.
DistanceRight { get; } Sağdaki tablo ile çevresindeki metin arasındaki mesafeyi nokta cinsinden alır.
DistanceTop { get; } Masa üstü ile çevresindeki metin arasındaki mesafeyi nokta cinsinden alır.
virtual Document { get; } Bu düğümün ait olduğu belgeyi alır.
FirstChild { get; } Düğümün ilk alt öğesini alır.
FirstRow { get; } İlkini döndürür Sıra tablodaki düğüm.
HasChildNodes { get; } Bu düğümün herhangi bir alt düğümü varsa doğru döndürür.
HorizontalAnchor { get; set; } Kayan tablonun yatay konumunun hesaplanması gereken temel nesneyi alır. Varsayılan değerColumn .
override IsComposite { get; } Bu düğümün alt düğümleri olabileceğinden true değerini döndürür.
LastChild { get; } Düğümün son alt öğesini alır.
LastRow { get; } Sonuncuyu döndürür Sıra 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 boşluk miktarını (puan olarak) alır veya ayarlar.
NextSibling { get; } Bu düğümden hemen sonraki düğümü alır.
override NodeType { get; } İade DüğümTürü.Tablo .
ParentNode { get; } Bu düğümün hemen üst öğesini 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 döndürür Menzil belgenin bu düğümde bulunan bölümünü temsil eden nesne.
RelativeHorizontalAlignment { get; set; } Kayan tablo göreli yatay hizalamayı alır veya ayarlar.
RelativeVerticalAlignment { get; set; } Kayan tablo göreli dikey hizalamayı alır veya ayarlar.
RightPadding { get; set; } Hücre içeriğinin sağına eklenecek boşluk miktarını (puan olarak) 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; } 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 yer alan bilgilerin alternatif bir metin gösterimini sağlar.
TopPadding { get; set; } Hücre içeriğinin üzerine eklenecek boşluk miktarını (puan olarak) alır veya ayarlar.
VerticalAnchor { get; set; } Kayan tablonun dikey konumunun hesaplanması gereken temel nesneyi alır. Varsayılan değerMargin .

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.
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() Tablodaki tüm gölgelemeleri kaldırır.
Clone(bool) Düğümün bir kopyasını oluşturur.
ConvertToHorizontallyMergedCells() Genişliğe göre yatay olarak birleştirilmiş hücreleri, genişliklerine göre birleştirilmiş hücrelere dönüştürür.HorizontalMerge .
CreateNavigator() Sistem kullanımı için ayrılmıştır. IXPathNavigable.
EnsureMinimum() Tabloda satır yoksa, bir satır oluşturur ve ekler Sıra .
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.
SetBorder(BorderType, LineStyle, double, Color, bool) Belirtilen tablo kenarlığını belirtilen çizgi stili, genişlik ve renge ayarlar.
SetBorders(LineStyle, double, Color) Tüm tablo kenarlıklarını belirtilen çizgi stili, genişlik ve renge ayarlar.
SetShading(TextureIndex, Color, Color) Tüm tablo üzerinde belirtilen değerlere gölgeleme 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

Masablok düzeyinde bir düğümdür ve türetilen sınıfların çocuğu olabilir Hikaye or satır içi hikaye.

Masa bir veya daha fazlasını içerebilir Sıra düğümler.

Minimum geçerli bir tablonun en az bir tane olması gerekir Sıra.

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

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
// imlecinin içinde bulunduğu geçerli satıra/hücreye ve bunları 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ü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