Tabellenformatierung anwenden

Jedes Element einer Tabelle kann mit unterschiedlichen Formatierungen versehen werden. Beispielsweise wird die Tabellenformatierung auf die gesamte Tabelle angewendet, die Zeilenformatierung nur auf bestimmte Zeilen und die Zellenformatierung nur auf bestimmte Zellen.

Aspose.Words bietet eine umfangreiche API-Funktion zum Abrufen und Anwenden von Formatierungen auf eine Tabelle. Sie können die Table-, RowFormat- und CellFormat-Knoten verwenden, um die Formatierung festzulegen.

In diesem Artikel sprechen wir darüber, wie man Formatierungen auf verschiedene Tabellenknoten anwendet und welche Tabellenformatierungseinstellungen Aspose.Words unterstützt.

Wenden Sie die Formatierung auf verschiedene Knoten an

In diesem Abschnitt betrachten wir die Anwendung der Formatierung auf verschiedene Tabellenknoten.

Formatierung auf Tabellenebene

Um eine Formatierung auf eine Tabelle anzuwenden, können Sie die auf dem entsprechenden Table-Knoten verfügbaren Eigenschaften mithilfe der Table-, PreferredWidth- und TableCollection-Klassen verwenden.

Die folgenden Bilder zeigen eine Darstellung der Table-Formatierungsfunktionen in Microsoft Word und ihrer entsprechenden Eigenschaften in Aspose.Words.

formattin-features-table-level-aspose-words-net

formatting-table-options-aspose-words-net

Das folgende Codebeispiel zeigt, wie man einen Umrissrahmen auf eine Tabelle anwendet:

Das folgende Codebeispiel zeigt, wie man eine Tabelle mit allen aktivierten Rändern (Raster) erstellt:

Formatierung auf Zeilenebene

Die Zeilenebene-Formatierung kann mithilfe der Klassen Row, RowFormat und RowCollection gesteuert werden.

Die folgenden Bilder zeigen eine Darstellung der Row-Formatierungsfunktionen in Microsoft Word und ihrer entsprechenden Eigenschaften in Aspose.Words.

formatting-row-level-aspose-words-net

Das folgende Codebeispiel zeigt, wie Sie die Tabellenzeilenformatierung ändern:

Formatierung auf Zellenebene

Die Formatierung auf Zellenebene wird durch die Klassen Cell, CellFormat und CellCollection gesteuert.

Die folgenden Bilder zeigen eine Darstellung der Cell-Formatierungsfunktionen in Microsoft Word und ihrer entsprechenden Eigenschaften in Aspose.Words.

formatting-cell-level-aspose-words-net

auto-formatting-cell-level-aspose-words-net

Das folgende Codebeispiel zeigt, wie Sie die Formatierung einer Tabellenzelle ändern:

Das folgende Codebeispiel zeigt, wie Sie den Abstand (in Punkt) festlegen, der links/oben/rechts/unten zum Inhalt der Zelle hinzugefügt werden soll:

Geben Sie Zeilenhöhen an

Der einfachste Weg, die Zeilenhöhe festzulegen, ist die Verwendung von DocumentBuilder. Mithilfe der entsprechenden RowFormat-Eigenschaften können Sie die Standardhöheneinstellung festlegen oder für jede Zeile in der Tabelle eine andere Höhe anwenden.

In Aspose.Words wird die Tabellenzeilenhöhe gesteuert durch:

  • die Eigenschaft Zeilenhöhe – Height
  • die Eigenschaft der Höhenregel für die angegebene Zeile – HeightRule

Gleichzeitig kann für jede Reihe eine andere Höhe eingestellt werden – so können Sie die Tischeinstellungen weitestgehend steuern.

Das folgende Codebeispiel zeigt, wie Sie eine Tabelle erstellen, die eine einzelne Zelle enthält, und Zeilenformatierung anwenden:

Geben Sie Tabellen- und Zellenbreiten an

Eine Tabelle in einem Microsoft Word-Dokument bietet verschiedene Möglichkeiten, die Größe der Tabelle und einzelner Zellen zu ändern. Diese Eigenschaften ermöglichen eine erhebliche Kontrolle über das Erscheinungsbild und das Verhalten der Tabelle, sodass Aspose.Words das Verhalten von Tabellen wie in Microsoft Word unterstützt.

Es ist wichtig zu wissen, dass Tabellenelemente verschiedene Eigenschaften aufweisen, die sich darauf auswirken können, wie die Breite der gesamten Tabelle sowie einzelner Zellen berechnet wird:

  • Bevorzugte Breite auf dem Tisch
  • Bevorzugte Breite für einzelne Zellen
  • Autofit auf dem Tisch zulassen

In diesem Artikel wird detailliert beschrieben, wie die verschiedenen Eigenschaften zur Tabellenbreitenberechnung funktionieren und wie Sie die vollständige Kontrolle über die Tabellenbreitenberechnung erhalten. Das ist Besonders nützlich ist dies in solchen Fällen, in denen das Tabellenlayout nicht wie erwartet aussieht.

So verwenden Sie die bevorzugte Breite

Die gewünschte Breite einer Tabelle oder einzelner Zellen wird durch die Eigenschaft “Preferred width” definiert, die die Größe angibt, die ein Element annehmen soll. Das heißt, die bevorzugte Breite kann für die gesamte Tabelle oder für einzelne Zellen angegeben werden. In manchen Situationen ist es möglicherweise nicht möglich, diese Breite genau anzupassen, in den meisten Fällen liegt die tatsächliche Breite jedoch nahe an diesem Wert.

Der geeignete bevorzugte Breitentyp und -wert wird mithilfe der Methoden der PreferredWidth-Klasse festgelegt:

  • die Auto-Methode zur Angabe von “Auto” oder “Keine bevorzugte Breite”
  • die FromPercent-Methode zur Angabe einer prozentualen Breite
  • die FromPoints-Methode zur Angabe der Breite in Punkten

Die folgenden Bilder zeigen eine Darstellung der bevorzugten Breiteneinstellungsfunktionen in Microsoft Word und ihrer entsprechenden Eigenschaften in Aspose.Words.

formatting-table-properties-aspose-words-net

Ein Beispiel dafür, wie diese Optionen auf eine echte Tabelle in einem Dokument angewendet werden, ist im Bild unten zu sehen.

todo:image_alt_text

Geben Sie die bevorzugte Tabellen- oder Zellenbreite an

In Aspose.Words werden Tabellen- und Zellenbreiten mithilfe der Table.PreferredWidth-Eigenschaft und der CellFormat.PreferredWidth-Eigenschaft festgelegt. Die Optionen sind in der PreferredWidthType-Enumeration verfügbar:

  • Auto, was bedeutet, dass keine bevorzugte Breite festgelegt ist
  • Percent, das das Element relativ zum verfügbaren Platz im Fenster oder der Containergröße anpasst und den Wert neu berechnet, wenn sich die verfügbare Breite ändert
  • Points, was einem Element der angegebenen Breite in Punkten entspricht

Durch die Verwendung der Table.PreferredWidth-Eigenschaft wird die bevorzugte Breite relativ zum Container angepasst: Seite, Textspalte oder äußere Tabellenzelle, wenn es sich um eine verschachtelte Tabelle handelt.

Das folgende Codebeispiel zeigt, wie Sie die Tabelle so einstellen, dass sie automatisch an 50 % der Seitenbreite angepasst wird:

Wenn Sie die CellFormat.PreferredWidth-Eigenschaft für eine bestimmte Zelle verwenden, wird deren bevorzugte Breite angepasst.

Das folgende Codebeispiel zeigt, wie Sie die verschiedenen bevorzugten Breiteneinstellungen festlegen:

Finden Sie den bevorzugten Breitentyp und -wert

Sie können die Type- und Value-Eigenschaften verwenden, um die bevorzugten Breitendetails der gewünschten Tabelle oder Zelle zu ermitteln.

Das folgende Codebeispiel zeigt, wie der bevorzugte Breitentyp einer Tabellenzelle abgerufen wird:

So stellen Sie Autofit ein

Die AllowAutoFit-Eigenschaft ermöglicht das Vergrößern und Verkleinern von Zellen in einer Tabelle gemäß einem ausgewählten Kriterium. Sie können beispielsweise die Automatisch an Fenster anpassen-Option verwenden, um die Tabelle an die Breite der Seite anzupassen, und die Automatisch an den Inhalt anpassen-Option, um zuzulassen, dass jede Zelle entsprechend ihrem Inhalt vergrößert oder verkleinert wird.

Standardmäßig fügt Aspose.Words mithilfe von Automatisch an Fenster anpassen eine neue Tabelle ein. Die Größe der Tabelle wird entsprechend der verfügbaren Seitenbreite angepasst. Um die Größe einer Tabelle zu ändern, können Sie die AutoFit-Methode aufrufen. Diese Methode akzeptiert eine AutoFitBehavior-Enumeration, die angibt, welcher Typ der automatischen Anpassung auf die Tabelle angewendet wird.

Es ist wichtig zu wissen, dass es sich bei der Autofit-Methode tatsächlich um eine Verknüpfung handelt, die gleichzeitig verschiedene Eigenschaften auf die Tabelle anwendet. Dies sind Eigenschaften, die der Tabelle tatsächlich das beobachtete Verhalten verleihen. Wir werden diese Eigenschaften für jede Autofit-Option besprechen.

Das folgende Codebeispiel zeigt, wie Sie eine Tabelle so einrichten, dass jede Zelle entsprechend ihrem Inhalt verkleinert oder vergrößert wird:

Tabelle automatisch an Fenster anpassen

Wenn die automatische Anpassung an ein Fenster auf eine Tabelle angewendet wird, werden die folgenden Vorgänge tatsächlich im Hintergrund ausgeführt:

  1. Die Table.AllowAutoFit-Eigenschaft ist aktiviert, um die Spaltengröße automatisch an den verfügbaren Inhalt anzupassen, wobei ein Table.PreferredWidth-Wert von 100 % verwendet wird
  2. CellFormat.PreferredWidth wird aus allen Tabellenzellen entfernt
  3. Die Spaltenbreiten werden für den aktuellen Tabelleninhalt neu berechnet – das Endergebnis ist eine Tabelle, die die gesamte verfügbare Breite einnimmt
  4. Die Breite der Spalten in der Tabelle ändert sich automatisch, wenn der Benutzer den Text bearbeitet

Das folgende Codebeispiel zeigt, wie eine Tabelle automatisch an die Seitenbreite angepasst wird:

Tabelle automatisch an Inhalt anpassen

Wenn der Inhalt der Tabelle automatisch angepasst wird, werden im Hintergrund tatsächlich die folgenden Schritte ausgeführt:

  1. Die Table.AllowAutoFit-Eigenschaft ist aktiviert, um die Größe jeder Zelle entsprechend ihrem Inhalt automatisch anzupassen

  2. Die bevorzugte Tabellenbreite wird aus Table.PreferredWidth entfernt, CellFormat.PreferredWidth wird für jede Tabellenzelle entfernt

    zu verwenden

  3. Die Spaltenbreiten werden für den aktuellen Tabelleninhalt neu berechnet – das Endergebnis ist eine Tabelle, in der die Spaltenbreiten und die Breite der gesamten Tabelle automatisch angepasst werden, um am besten zum Inhalt zu passen, während der Benutzer den Text bearbeitet

Das folgende Codebeispiel zeigt, wie eine Tabelle automatisch an ihren Inhalt angepasst wird:

Deaktivieren Sie die automatische Anpassung in der Tabelle und verwenden Sie feste Spaltenbreiten

Wenn für eine Tabelle die automatische Anpassung deaktiviert ist und stattdessen feste Spaltenbreiten verwendet werden, werden die folgenden Schritte ausgeführt:

  1. Die Table.AllowAutoFit-Eigenschaft ist deaktiviert, sodass Spalten nicht entsprechend ihrem Inhalt vergrößert oder verkleinert werden

  2. Die bevorzugte Breite der gesamten Tabelle wird aus Table.PreferredWidth entfernt, CellFormat.PreferredWidth wird aus allen Tabellenzellen entfernt

  3. Das Endergebnis ist eine Tabelle, deren Spaltenbreiten durch die CellFormat.Width-Eigenschaft bestimmt werden und deren Spaltengröße nicht automatisch geändert wird, wenn der Benutzer Text eingibt oder wenn die Seitengröße geändert wird

Das folgende Codebeispiel zeigt, wie Sie die automatische Anpassung deaktivieren und die feste Breite für die angegebene Tabelle aktivieren:

Rangfolge bei der Berechnung der Zellenbreite

Aspose.Words ermöglicht es Benutzern, die Breite einer Tabelle oder Zelle über mehrere Objekte, einschließlich CellFormat, zu definieren – seine Width-Eigenschaft ist größtenteils aus früheren Versionen übrig geblieben, sie ist jedoch immer noch nützlich, um das Festlegen der Zellenbreite zu vereinfachen.

Es ist wichtig zu wissen, dass die CellFormat.Width-Eigenschaft unterschiedlich funktioniert, je nachdem, welche der anderen Breiteneigenschaften bereits in der Tabelle vorhanden sind.

Aspose.Words verwendet die folgende Reihenfolge zur Berechnung der Zellenbreiten:

Befehl Eigentum Beschreibung
1 AllowAutoFit wird ermittelt Wenn AutoFit aktiviert ist:
- Die Tabelle kann über die bevorzugte Breite hinaus wachsen, um den Inhalt aufzunehmen – normalerweise schrumpft sie nicht unter die bevorzugte Breite
– Jede Änderung am CellFormat.Width-Wert wird ignoriert und die Zelle passt stattdessen an ihren Inhalt
2 PreferredWidthType mit dem Wert Points oder Percent CellFormat.Width wird ignoriert
3 PreferredWidthType mit dem Wert Auto Der Wert aus CellFormat.Width wird kopiert und wird zur bevorzugten Breite der Zelle (in Punkt)

Abstand zwischen Zellen zulassen

Sie können jeden zusätzlichen Abstand zwischen Tabellenzellen erhalten oder festlegen, ähnlich der Option “Zellenabstand” in Microsoft Word. Dies kann über die AllowCellSpacing-Eigenschaft erfolgen.

Ein Beispiel dafür, wie diese Optionen auf eine echte Tabelle in einem Dokument angewendet werden, ist im Bild unten zu sehen.

Formatierung-Abstand-zwischen-Zellen-aspose-words-net

Das folgende Codebeispiel zeigt, wie der Abstand zwischen Zellen festgelegt wird:

Wenden Sie Ränder und Schattierungen an

Rahmen und Schattierungen können mit Table.SetBorder, Table.SetBorders und Table.SetShading entweder auf die gesamte Tabelle oder mit CellFormat.Borders und CellFormat.Shading nur auf bestimmte Zellen angewendet werden. Darüber hinaus können Zeilenränder mit RowFormat.Borders festgelegt werden, Schattierungen können auf diese Weise jedoch nicht angewendet werden.

Die Bilder unten zeigen die Rahmen- und Schatteneinstellungen in Microsoft Word und ihre entsprechenden Eigenschaften in Aspose.Words.

formatting-border-line-aspose-words-net

formatting-cell-color-aspose-words-net

Das folgende Codebeispiel zeigt, wie eine Tabelle und eine Zelle mit unterschiedlichen Rändern und Schattierungen formatiert werden: