Table
Innehåll
[
Dölj
]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
namn | Beskrivning |
---|---|
Table(DocumentBase) | Initierar en ny instans avTable class. |
Egenskaper
namn | Beskrivning |
---|---|
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
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. |
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(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örstaNode som matchar XPath-uttrycket. |
SetBorder(BorderType, LineStyle, 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
- class CompositeNode
- namnutrymme Aspose.Words.Tables
- hopsättning Aspose.Words