Cell

Cell class

Representerar en tabellcell.

public class Cell : CompositeNode

Konstruktörer

namn Beskrivning
Cell(DocumentBase) Initierar en ny instans av Cell class.

Egenskaper

namn Beskrivning
CellFormat { get; } Ger tillgång till cellens formateringsegenskaper.
ChildNodes { get; } Hämtar alla omedelbara underordnade noder för denna nod.
Count { get; } Hämtar antalet omedelbara barn till denna nod.
CustomNodeId { get; set; } Anger anpassad nodidentifierare.
virtual Document { get; } Hämtar dokumentet som denna nod tillhör.
FirstChild { get; } Får det första barnet i noden.
FirstParagraph { get; } Får första stycket bland de närmaste barnen.
HasChildNodes { get; } Returnerar sant om denna nod har några underordnade noder.
override IsComposite { get; } Returnerar sant eftersom denna nod kan ha underordnade noder.
IsFirstCell { get; } Sant om detta är den första cellen i en rad; falskt annars.
IsLastCell { get; } Sant om detta är den sista cellen i en rad; falskt annars.
LastChild { get; } Hämtar nodens sista underordnade.
LastParagraph { get; } Får det sista stycket bland de närmaste barnen.
NextSibling { get; } Hämtar noden omedelbart efter denna nod.
override NodeType { get; } Returnerar NodeType.Cell .
Paragraphs { get; } Får en samling stycken som är omedelbara barn till cellen.
ParentNode { get; } Hämtar den omedelbara föräldern till denna nod.
ParentRow { get; } Returnerar cellens överordnade rad.
PreviousSibling { get; } Hämtar noden omedelbart före denna nod.
Range { get; } Returnerar en Räckvidd objekt som representerar den del av ett dokument som finns i denna nod.
Tables { get; } Hämtar en samling tabeller som är omedelbart underordnade cellen.

Metoder

namn Beskrivning
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.
Clone(bool) Skapar en dubblett av noden.
CreateNavigator() Reserverad för systemanvändning. IXPathNavigable.
EnsureMinimum() Om det sista underordnade inte är ett stycke, skapar och lägger till ett tomt stycke.
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(Node, Node) Infogar den angivna noden omedelbart efter den angivna referensnoden.
InsertBefore(Node, Node) 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 allaSmartTag underliggande noder till den aktuella noden.
SelectNodes(string) Väljer en lista med noder som matchar XPath-uttrycket.
SelectSingleNode(string) Väljer den första noden som matchar XPath-uttrycket.
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

Cell kan bara vara ett barn till en Rad.

Cell kan innehålla noder på blocknivå Paragraf och Tabell.

En minimal giltig cell måste ha minst en Paragraf.

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 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