Table

Table class

Representerar en tabell i ett Word-dokument.

För att lära dig mer, besökArbeta med tabeller dokumentationsartikel.

public class Table : CompositeNode

Konstruktörer

namnBeskrivning
Table(DocumentBase)Initierar en ny instans avTable class.

Egenskaper

namnBeskrivning
AbsoluteHorizontalDistance { get; set; }Hämtar eller ställer in absolut horisontell flytande tabellposition specificerad av tabellegenskaperna, i poäng. Standardvärdet är 0.
AbsoluteVerticalDistance { get; set; }Hämtar eller ställer in den absoluta vertikala flytande tabellens position specificerad av tabellens egenskaper, i poäng. Standardvärdet är 0.
Alignment { get; set; }Anger hur en inlinetabell justeras i dokumentet.
AllowAutoFit { get; set; }Tillåter Microsoft Word och Aspose.Words att automatiskt ändra storlek på celler i en tabell så att de passar deras innehåll.
AllowCellSpacing { get; set; }Hämtar eller ställer in alternativet “Tillåt avstånd mellan celler”.
AllowOverlap { get; }Hämtar om en flytande tabell ska tillåta andra flytande objekt i document att överlappa dess omfattning när den visas. Standardvärdet ärSann .
Bidi { get; set; }Hämtar eller ställer in om detta är en tabell från höger till vänster.
BottomPadding { get; set; }Hämtar eller ställer in mängden utrymme (i poäng) som ska läggas till under innehållet i celler.
CellSpacing { get; set; }Hämtar eller ställer in mängden utrymme (i poäng) mellan cellerna.
Count { get; }Hämtar antalet omedelbara barn till denna nod.
CustomNodeId { get; set; }Anger anpassad nodidentifierare.
Description { get; set; }Hämtar eller ställer in en beskrivning av denna tabell. Den ger en alternativ textrepresentation av informationen i tabellen.
DistanceBottom { get; set; }Hämtar eller ställer in avståndet mellan tabellbotten och den omgivande texten, i punkter.
DistanceLeft { get; set; }Hämtar eller ställer in avståndet mellan tabellen till vänster och den omgivande texten, i punkter.
DistanceRight { get; set; }Hämtar eller ställer in avståndet mellan tabellens högra sida och den omgivande texten, i punkter.
DistanceTop { get; set; }Hämtar eller ställer in avståndet mellan bordsskivan och den omgivande texten, i punkter.
virtual Document { get; }Hämtar dokumentet som denna nod tillhör.
FirstChild { get; }Får det första barnet i noden.
FirstRow { get; }Returnerar den förstaRow nod i tabellen.
HasChildNodes { get; }ReturnerarSann om denna nod har några undernoder.
HorizontalAnchor { get; set; }Hämtar basobjektet från vilket den horisontella positioneringen av flytande tabell ska beräknas. Standardvärdet ärColumn .
override IsComposite { get; }ReturnerarSann eftersom denna nod kan ha underordnade noder.
LastChild { get; }Hämtar nodens sista underordnade.
LastRow { get; }Returnerar den sistaRow nod i tabellen.
LeftIndent { get; set; }Hämtar eller ställer in värdet som representerar den vänstra indraget i tabellen.
LeftPadding { get; set; }Hämtar eller ställer in mängden utrymme (i poäng) som ska läggas till till vänster om innehållet i celler.
NextSibling { get; }Hämtar noden omedelbart efter denna nod.
override NodeType { get; }ReturnerarTable .
ParentNode { get; }Hämtar den omedelbara föräldern till denna nod.
PreferredWidth { get; set; }Hämtar eller ställer in tabellens föredragna bredd.
PreviousSibling { get; }Hämtar noden omedelbart före denna nod.
Range { get; }Returnerar enRange objekt som representerar den del av ett dokument som finns i denna nod.
RelativeHorizontalAlignment { get; set; }Hämtar eller ställer in flytande tabell relativ horisontell justering.
RelativeVerticalAlignment { get; set; }Hämtar eller ställer in flytande tabell relativ vertikal justering.
RightPadding { get; set; }Hämtar eller ställer in mängden utrymme (i poäng) som ska läggas till till höger om innehållet i celler.
Rows { get; }Ger maskinskriven åtkomst till raderna i tabellen.
Style { get; set; }Hämtar eller ställer in tabellstilen som tillämpas på denna tabell.
StyleIdentifier { get; set; }Hämtar eller ställer in den språkoberoende stilidentifieraren för tabellstilen som tillämpas på denna tabell.
StyleName { get; set; }Hämtar eller ställer in namnet på tabellformatet som tillämpas på denna tabell.
StyleOptions { get; set; }Hämtar eller ställer in bitflaggor som anger hur en tabellstil tillämpas på den här tabellen.
TextWrapping { get; set; }Hämtar eller sätterTextWrapping för tabell.
Title { get; set; }Hämtar eller ställer in titeln på denna tabell. Den ger en alternativ textrepresentation av informationen i tabellen.
TopPadding { get; set; }Hämtar eller ställer in mängden utrymme (i poäng) som ska läggas till ovanför innehållet i celler.
VerticalAnchor { get; set; }Hämtar basobjektet från vilket den vertikala positioneringen av flytande tabell ska beräknas. Standardvärdet ärMargin .

Metoder

namnBeskrivning
override Accept(DocumentVisitor)Accepterar en besökare.
AppendChild(Node)Lägger till den angivna noden i slutet av listan över underordnade noder för denna nod.
AutoFit(AutoFitBehavior)Ändrar storlek på tabellen och cellerna enligt det angivna beteendet för automatisk anpassning.
ClearBorders()Tar bort alla tabell- och cellkanter på den här tabellen.
ClearShading()Tar bort all skuggning på bordet.
Clone(bool)Skapar en dubblett av noden.
ConvertToHorizontallyMergedCells()Konverterar celler horisontellt sammanfogade efter bredd till celler sammanslagna avHorizontalMerge .
CreateNavigator()Skapar navigator som kan användas för att korsa och läsa noder.
EnsureMinimum()Om tabellen inte har några rader, skapar och lägger till enRow .
GetAncestor(NodeType)Hämtar den första förfadern till den angivnaNodeType .
GetAncestor(Type)Hämtar den första förfadern till den angivna objekttypen.
GetChild(NodeType, int, bool)Returnerar en N:te underordnad nod som matchar den angivna typen.
GetChildNodes(NodeType, bool)Returnerar en aktiv samling av underordnade noder som matchar den angivna typen.
GetEnumerator()Tillhandahåller stöd för varje stiliteration över undernoderna för denna nod.
override GetText()Hämtar texten för denna nod och alla dess underordnade.
IndexOf(Node)Returnerar indexet för den angivna undernoden i den underordnade nodmatrisen.
InsertAfter(NodeNode)Infogar den angivna noden omedelbart efter den angivna referensnoden.
InsertBefore(NodeNode)Infogar den angivna noden omedelbart före den angivna referensnoden.
NextPreOrder(Node)Hämtar nästa nod enligt algoritmen för förbeställningsträdet.
PrependChild(Node)Lägger till den angivna noden i början av listan över underordnade noder för denna nod.
PreviousPreOrder(Node)Hämtar föregående nod enligt algoritmen för förbeställningsträdet.
Remove()Tar bort sig själv från föräldern.
RemoveAllChildren()Tar bort alla undernoder för den aktuella noden.
RemoveChild(Node)Tar bort den angivna underordnade noden.
RemoveSmartTags()Tar bort allaSmartTagunderliggande noder till den aktuella noden.
SelectNodes(string)Väljer en lista med noder som matchar XPath-uttrycket.
SelectSingleNode(string)Väljer den förstaNode som matchar XPath-uttrycket.
SetBorder(BorderTypeLineStyle, double, Color, bool)Ställer in den angivna tabellkanten till angiven linjestil, bredd och färg.
SetBorders(LineStyle, double, Color)Ställer in alla tabellkanter till angiven linjestil, bredd och färg.
SetShading(TextureIndex, Color, Color)Ställer in skuggning till de angivna värdena på hela tabellen.
ToString(SaveFormat)Exporterar innehållet i noden till en sträng i angivet format.
ToString(SaveOptions)Exporterar innehållet i noden till en sträng med de angivna sparalternativen.

Anmärkningar

Tableär en nod på blocknivå och kan vara ett barn av klasser som härrör frånStory or InlineStory.

Table kan innehålla en eller fleraRow knutpunkter.

En minsta giltig tabell måste ha minst enRow.

Exempel

Visar hur man skapar en tabell.

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

// Tabeller innehåller rader, som innehåller celler, som kan ha stycken
// med typiska element som körningar, former och till och med andra tabeller.
// Att anropa metoden "EnsureMinimum" på en tabell säkerställer det
// tabellen har minst en rad, cell och stycke.
Row firstRow = new Row(doc);
table.AppendChild(firstRow);

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

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

// Lägg till text till det första anropet i den första raden i tabellen.
Run run = new Run(doc, "Hello world!");
paragraph.AppendChild(run);

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

Visar hur man itererar genom alla tabeller i dokumentet och skriver ut innehållet i varje cell.

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;

    // Vi kan använda "ToArray"-metoden på en radsamling för att klona den till en array.
    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;

        // Vi kan använda "ToArray"-metoden på en cellsamling för att klona den till en array.
        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");
}

Visar hur man bygger en formaterad 2x2-tabell.

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

// När du bygger tabellen kommer dokumentbyggaren att tillämpa sina nuvarande RowFormat/CellFormat-egenskapsvärden
// till den aktuella raden/cellen som markören är i och eventuella nya rader/celler när den skapar dem.
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();

// Tidigare tillagda rader och celler påverkas inte retroaktivt av ändringar i byggarens formatering.
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");

Visar hur man bygger en kapslad tabell utan att använda ett dokumentbyggare.

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

    // Skapa den yttre tabellen med tre rader och fyra kolumner och lägg sedan till den i dokumentet.
    Table outerTable = CreateTable(doc, 3, 4, "Outer Table");
    doc.FirstSection.Body.AppendChild(outerTable);

    // Skapa ytterligare en tabell med två rader och två kolumner och infoga den sedan i den första tabellens första cell.
    Table innerTable = CreateTable(doc, 2, 2, "Inner Table");
    outerTable.FirstRow.FirstCell.AppendChild(innerTable);

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

/// <summary>
/// Skapar en ny tabell i dokumentet med givna dimensioner och text i varje cell.
/// </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);
        }
    }

    // Du kan använda egenskaperna "Titel" och "Beskrivning" för att lägga till en titel respektive en beskrivning till din tabell.
    // Tabellen måste ha minst en rad innan vi kan använda dessa egenskaper.
    // Dessa egenskaper är meningsfulla för ISO / IEC 29500-kompatibla .docx-dokument (se klassen OoxmlCompliance).
    // Om vi sparar dokumentet i pre-ISO/IEC 29500-format ignorerar Microsoft Word dessa egenskaper.
    table.Title = "Aspose table title";
    table.Description = "Aspose table description";

    return table;
}

Se även