Table
Table class
Stellt eine Tabelle in einem Word-Dokument dar.
Um mehr zu erfahren, besuchen Sie dieArbeiten mit Tabellen Dokumentationsartikel.
public class Table : CompositeNode
Konstrukteure
Name | Beschreibung |
---|---|
Table(DocumentBase) | Initialisiert eine neue Instanz vonTable Klasse. |
Eigenschaften
Name | Beschreibung |
---|---|
AbsoluteHorizontalDistance { get; set; } | Ruft die durch die Tabelleneigenschaften angegebene absolute horizontale schwebende Tabellenposition in Punkten ab oder legt diese fest. Der Standardwert ist 0. |
AbsoluteVerticalDistance { get; set; } | Ruft die durch die Tabelleneigenschaften angegebene absolute vertikale schwebende Tabellenposition in Punkten ab oder legt diese fest. Der Standardwert ist 0. |
Alignment { get; set; } | Gibt an, wie eine Inline-Tabelle im Dokument ausgerichtet wird. |
AllowAutoFit { get; set; } | Ermöglicht Microsoft Word und Aspose.Words, die Größe von Zellen in einer Tabelle automatisch an ihren Inhalt anzupassen. |
AllowCellSpacing { get; set; } | Ruft die Option „Abstand zwischen Zellen zulassen“ ab oder legt diese fest. |
AllowOverlap { get; } | Ruft ab, ob eine schwebende Tabelle zulassen soll, dass andere schwebende Objekte im Dokument ihre Grenzen überlappen, wenn sie angezeigt werden. Der Standardwert istWAHR . |
Bidi { get; set; } | Ruft ab oder legt fest, ob es sich um eine von rechts nach links verlaufende Tabelle handelt. |
BottomPadding { get; set; } | Ruft den Abstand (in Punkten) ab, der unterhalb des Zellinhalts hinzugefügt werden soll, oder legt diesen fest. |
CellSpacing { get; set; } | Ruft den Abstand (in Punkten) zwischen den Zellen ab oder legt diesen fest. |
Count { get; } | Ruft die Anzahl der unmittelbaren Kinder dieses Knotens ab. |
CustomNodeId { get; set; } | Gibt die benutzerdefinierte Knotenkennung an. |
Description { get; set; } | Ruft die Beschreibung dieser Tabelle ab oder legt sie fest. Bietet eine alternative Textdarstellung der in der Tabelle enthaltenen Informationen. |
DistanceBottom { get; set; } | Ruft den Abstand zwischen der Tabellenunterseite und dem umgebenden Text in Punkten ab oder legt diesen fest. |
DistanceLeft { get; set; } | Ruft den Abstand zwischen der linken Tabelle und dem umgebenden Text in Punkten ab oder legt diesen fest. |
DistanceRight { get; set; } | Ruft den Abstand zwischen der rechten Tabellenseite und dem umgebenden Text in Punkten ab oder legt diesen fest. |
DistanceTop { get; set; } | Ruft den Abstand zwischen der Tischplatte und dem umgebenden Text in Punkten ab oder legt diesen fest. |
virtual Document { get; } | Ruft das Dokument ab, zu dem dieser Knoten gehört. |
FirstChild { get; } | Ruft das erste untergeordnete Element des Knotens ab. |
FirstRow { get; } | Gibt den ersten zurückRow Knoten in der Tabelle. |
HasChildNodes { get; } | Gibt zurückWAHR wenn dieser Knoten untergeordnete Knoten hat. |
HorizontalAnchor { get; set; } | Ruft das Basisobjekt ab, aus dem die horizontale Positionierung der schwebenden Tabelle berechnet werden soll. Der Standardwert istColumn . |
override IsComposite { get; } | Gibt zurückWAHR da dieser Knoten untergeordnete Knoten haben kann. |
LastChild { get; } | Ruft das letzte untergeordnete Element des Knotens ab. |
LastRow { get; } | Gibt den letzten zurückRow Knoten in der Tabelle. |
LeftIndent { get; set; } | Ruft den Wert ab, der den linken Einzug der Tabelle darstellt, oder legt diesen fest. |
LeftPadding { get; set; } | Ruft den Abstand (in Punkten) ab, der links vom Zellinhalt hinzugefügt werden soll, oder legt diesen fest. |
NextSibling { get; } | Ruft den Knoten ab, der diesem Knoten unmittelbar folgt. |
override NodeType { get; } | Gibt zurückTable . |
ParentNode { get; } | Ruft das unmittelbare übergeordnete Element dieses Knotens ab. |
PreferredWidth { get; set; } | Ruft die bevorzugte Tabellenbreite ab oder legt diese fest. |
PreviousSibling { get; } | Ruft den Knoten ab, der diesem Knoten unmittelbar vorangeht. |
Range { get; } | Gibt a zurückRange Objekt, das den Teil eines Dokuments darstellt, der in diesem Knoten enthalten ist. |
RelativeHorizontalAlignment { get; set; } | Ruft die relative horizontale Ausrichtung der schwebenden Tabelle ab oder legt sie fest. |
RelativeVerticalAlignment { get; set; } | Ruft die relative vertikale Ausrichtung der schwebenden Tabelle ab oder legt diese fest. |
RightPadding { get; set; } | Ruft die Menge an Platz (in Punkten) ab, die rechts vom Inhalt der Zellen hinzugefügt werden soll, oder legt diese fest. |
Rows { get; } | Bietet typisierten Zugriff auf die Zeilen der Tabelle. |
Style { get; set; } | Ruft den auf diese Tabelle angewendeten Tabellenstil ab oder legt diesen fest. |
StyleIdentifier { get; set; } | Ruft die vom Gebietsschema unabhängige Stilkennung des auf diese Tabelle angewendeten Tabellenstils ab oder legt diesen fest. |
StyleName { get; set; } | Ruft den Namen des Tabellenstils ab, der auf diese Tabelle angewendet wird, oder legt diesen fest. |
StyleOptions { get; set; } | Ruft Bitflags ab oder setzt diese, die angeben, wie ein Tabellenstil auf diese Tabelle angewendet wird. |
TextWrapping { get; set; } | Ruft ab oder legt festTextWrapping für Tabelle. |
Title { get; set; } | Ruft den Titel dieser Tabelle ab oder legt ihn fest. Bietet eine alternative Textdarstellung der in der Tabelle enthaltenen Informationen. |
TopPadding { get; set; } | Ruft die Menge an Platz (in Punkten) ab, die über dem Inhalt von Zellen hinzugefügt werden soll, oder legt diese fest. |
VerticalAnchor { get; set; } | Ruft das Basisobjekt ab, aus dem die vertikale Positionierung der schwebenden Tabelle berechnet werden soll. Der Standardwert istMargin . |
Methoden
Name | Beschreibung |
---|---|
override Accept(DocumentVisitor) | Akzeptiert einen Besucher. |
AppendChild(Node) | Fügt den angegebenen Knoten am Ende der Liste der untergeordneten Knoten für diesen Knoten hinzu. |
AutoFit(AutoFitBehavior) | Ändert die Größe der Tabelle und der Zellen entsprechend dem angegebenen automatischen Anpassungsverhalten. |
ClearBorders() | Entfernt alle Tabellen- und Zellenränder dieser Tabelle. |
ClearShading() | Entfernt alle Schattierungen auf der Tabelle. |
Clone(bool) | Erstellt ein Duplikat des Knotens. |
ConvertToHorizontallyMergedCells() | Konvertiert horizontal um die Breite verbundene Zellen in um zusammengeführte ZellenHorizontalMerge . |
CreateNavigator() | Erstellt einen Navigator, der zum Durchlaufen und Lesen von Knoten verwendet werden kann. |
EnsureMinimum() | Wenn die Tabelle keine Zeilen enthält, wird eine erstellt und angehängtRow . |
GetAncestor(NodeType) | Ruft den ersten Vorfahren des angegebenen abNodeType . |
GetAncestor(Type) | Ruft den ersten Vorfahren des angegebenen Objekttyps ab. |
GetChild(NodeType, int, bool) | Gibt einen N-ten untergeordneten Knoten zurück, der dem angegebenen Typ entspricht. |
GetChildNodes(NodeType, bool) | Gibt eine Live-Sammlung untergeordneter Knoten zurück, die dem angegebenen Typ entsprechen. |
GetEnumerator() | Bietet Unterstützung für die Iteration jedes Stils über die untergeordneten Knoten dieses Knotens. |
override GetText() | Ruft den Text dieses Knotens und aller seiner untergeordneten Knoten ab. |
IndexOf(Node) | Gibt den Index des angegebenen untergeordneten Knotens im untergeordneten Knoten-Array zurück. |
InsertAfter(Node, Node) | Fügt den angegebenen Knoten unmittelbar nach dem angegebenen Referenzknoten ein. |
InsertBefore(Node, Node) | Fügt den angegebenen Knoten unmittelbar vor dem angegebenen Referenzknoten ein. |
NextPreOrder(Node) | Ruft den nächsten Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab. |
PrependChild(Node) | Fügt den angegebenen Knoten am Anfang der Liste der untergeordneten Knoten für diesen Knoten hinzu. |
PreviousPreOrder(Node) | Ruft den vorherigen Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab. |
Remove() | Entfernt sich selbst vom übergeordneten Element. |
RemoveAllChildren() | Entfernt alle untergeordneten Knoten des aktuellen Knotens. |
RemoveChild(Node) | Entfernt den angegebenen untergeordneten Knoten. |
RemoveSmartTags() | Entfernt alleSmartTag Nachkommenknoten des aktuellen Knotens. |
SelectNodes(string) | Wählt eine Liste von Knoten aus, die dem XPath-Ausdruck entsprechen. |
SelectSingleNode(string) | Wählt den ersten ausNode das entspricht dem XPath-Ausdruck. |
SetBorder(BorderType, LineStyle, double, Color, bool) | Setzt den angegebenen Tabellenrand auf den angegebenen Linienstil, die angegebene Breite und die angegebene Farbe. |
SetBorders(LineStyle, double, Color) | Setzt alle Tabellenränder auf den angegebenen Linienstil, die angegebene Breite und die angegebene Farbe. |
SetShading(TextureIndex, Color, Color) | Setzt die Schattierung auf die angegebenen Werte für die gesamte Tabelle. |
ToString(SaveFormat) | Exportiert den Inhalt des Knotens in einen String im angegebenen Format. |
ToString(SaveOptions) | Exportiert den Inhalt des Knotens mit den angegebenen Speicheroptionen in einen String. |
Bemerkungen
Table
ist ein Knoten auf Blockebene und kann ein untergeordnetes Element von abgeleiteten Klassen seinStory
or InlineStory
.
Table
kann eine oder mehrere enthaltenRow
Knoten.
Eine minimal gültige Tabelle muss mindestens eine habenRow
.
Beispiele
Zeigt, wie eine Tabelle erstellt wird.
Document doc = new Document();
Table table = new Table(doc);
doc.FirstSection.Body.AppendChild(table);
// Tabellen enthalten Zeilen, die Zellen enthalten, die möglicherweise Absätze enthalten
// mit typischen Elementen wie Läufen, Formen und sogar anderen Tabellen.
// Der Aufruf der Methode „EnsureMinimum“ für eine Tabelle stellt dies sicher
// Die Tabelle enthält mindestens eine Zeile, eine Zelle und einen Absatz.
Row firstRow = new Row(doc);
table.AppendChild(firstRow);
Cell firstCell = new Cell(doc);
firstRow.AppendChild(firstCell);
Paragraph paragraph = new Paragraph(doc);
firstCell.AppendChild(paragraph);
// Text zum ersten Aufruf in der ersten Zeile der Tabelle hinzufügen.
Run run = new Run(doc, "Hello world!");
paragraph.AppendChild(run);
doc.Save(ArtifactsDir + "Table.CreateTable.docx");
Zeigt, wie alle Tabellen im Dokument durchlaufen und der Inhalt jeder Zelle gedruckt werden.
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;
// Wir können die Methode „ToArray“ für eine Zeilensammlung verwenden, um sie in ein Array zu klonen.
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;
// Wir können die Methode „ToArray“ für eine Zellsammlung verwenden, um sie in ein Array zu klonen.
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");
}
Zeigt, wie eine formatierte 2x2-Tabelle erstellt wird.
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();
// Beim Erstellen der Tabelle wendet der Document Builder seine aktuellen RowFormat/CellFormat-Eigenschaftswerte an
// zur aktuellen Zeile/Zelle, in der sich der Cursor befindet, und zu allen neuen Zeilen/Zellen, während sie erstellt werden.
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();
// Zuvor hinzugefügte Zeilen und Zellen werden von Änderungen an der Formatierung des Builders nicht rückwirkend beeinflusst.
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");
Zeigt, wie man eine verschachtelte Tabelle erstellt, ohne einen Document Builder zu verwenden.
public void CreateNestedTable()
{
Document doc = new Document();
// Erstellen Sie die äußere Tabelle mit drei Zeilen und vier Spalten und fügen Sie sie dann dem Dokument hinzu.
Table outerTable = CreateTable(doc, 3, 4, "Outer Table");
doc.FirstSection.Body.AppendChild(outerTable);
// Erstelle eine weitere Tabelle mit zwei Zeilen und zwei Spalten und füge sie dann in die erste Zelle der ersten Tabelle ein.
Table innerTable = CreateTable(doc, 2, 2, "Inner Table");
outerTable.FirstRow.FirstCell.AppendChild(innerTable);
doc.Save(ArtifactsDir + "Table.CreateNestedTable.docx");
}
/// <summary>
/// Erstellt eine neue Tabelle im Dokument mit den angegebenen Abmessungen und Text in jeder Zelle.
/// </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);
}
}
// Mit den Eigenschaften „Title“ und „Description“ können Sie Ihrer Tabelle einen Titel bzw. eine Beschreibung hinzufügen.
// Die Tabelle muss mindestens eine Zeile haben, bevor wir diese Eigenschaften verwenden können.
// Diese Eigenschaften sind für ISO/IEC 29500-konforme .docx-Dokumente von Bedeutung (siehe die OoxmlCompliance-Klasse).
// Wenn wir das Dokument in Formaten vor ISO/IEC 29500 speichern, ignoriert Microsoft Word diese Eigenschaften.
table.Title = "Aspose table title";
table.Description = "Aspose table description";
return table;
}
Siehe auch
- class CompositeNode
- namensraum Aspose.Words.Tables
- Montage Aspose.Words