Anwenden Tabelle Formatierung

Jedes Element einer Tabelle kann mit unterschiedlicher Formatierung aufgebracht werden. Beispielsweise wird die Tabellenformatierung auf die gesamte Tabelle, Zeilenformatierung auf nur bestimmte Zeilen, Zellformatierung auf nur bestimmte Zellen angewendet.

Aspose.Words bietet reich API die Formatierung auf eine Tabelle abrufen und anwenden. Sie können die Table, RowFormat, und CellFormat Knoten, um die Formatierung einzustellen.

In diesem Artikel werden wir darüber sprechen, wie Sie Formatierungen auf verschiedene Tabellenknoten anwenden können und welche Tabellenformatierungseinstellungen Aspose.Words unterstützt.

Anwenden der Formatierung auf verschiedene Nodes

In diesem Abschnitt werden wir uns die Formatierung auf verschiedene Tabellenknoten ansehen.

Tabelle Ebene Formatierung

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

Die nachfolgenden Bilder zeigen eine Darstellung der Table Formatierungsfunktionen in Microsoft Word und ihre entsprechenden Eigenschaften in Aspose.Words.

apply-formatting-to-table-level-aspose-words-java

apply-formatting-to-table-level-aspose-words-java

Das folgende Codebeispiel zeigt, wie man eine Umrissgrenze auf eine Tabelle anwenden kann:

Das folgende Codebeispiel zeigt, wie eine Tabelle mit allen aktivierten Grenzen erstellt werden kann (grid):

Row Level Formatierung

Row-Level** Formatierung kann über die Row, RowFormat, und RowCollection Klassen.

Die nachfolgenden Bilder zeigen eine Darstellung der Row Formatierungsfunktionen in Microsoft Word und ihre entsprechenden Eigenschaften in Aspose.Words.

apply-formatting-to-row-level-aspose-words-java

Das folgende Codebeispiel zeigt, wie man die Tabellenzeilenformatierung ändert:

Zellebene Formatierung

Die Zell-Level-Formatierung wird von der Cell, CellFormat, und CellCollection Klassen.

Die nachfolgenden Bilder zeigen eine Darstellung der Cell Formatierungsfunktionen in Microsoft Word und ihre entsprechenden Eigenschaften in Aspose.Words.

apply-formatting-to-cell-level-aspose-words-java

apply-auto-formatting-to-row-level-aspose-words-java

Das folgende Codebeispiel zeigt, wie die Formatierung einer Tabellenzelle verändert werden kann:

Das folgende Codebeispiel zeigt, wie man die Menge des Raumes (in Punkten) einstellen kann, um links/oben/rechts/unten des Inhalts der Zelle hinzuzufügen:

Angeben von Row Heights

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

In Aspose.Words, Tischzeilenhöhe wird gesteuert durch:

  • die Höhenlage der Reihe – Height
  • die Höhenregeleigenschaft für die angegebene Zeile – HeightRule

Gleichzeitig kann für jede Zeile eine andere Höhe eingestellt werden – so können Sie die Tabelleneinstellungen weitgehend kontrollieren.

Das folgende Codebeispiel zeigt, wie eine Tabelle erstellt werden kann, die eine einzelne Zelle enthält und Zeilenformatierung anwendet:

Tabelle und Zellbreiten angeben

Eine Tabelle in einer Microsoft Word Das Dokument bietet verschiedene Möglichkeiten, die Tabelle und einzelne Zellen neu zu gestalten. Diese Eigenschaften ermöglichen eine erhebliche Kontrolle über das Aussehen und Verhalten der Tabelle, so dass Aspose.Words unterstützt das Verhalten von Tabellen, wie in Microsoft Word.

Es ist wichtig zu wissen, dass Tabellenelemente mehrere unterschiedliche Eigenschaften aufweisen, die beeinflussen können, wie die Breiten der Gesamttabelle sowie einzelne Zellen berechnet werden:

  • Bevorzugte Breite auf dem Tisch
  • Bevorzugte Breite auf einzelnen Zellen
  • Autofit auf dem Tisch zulassen

Dieser Artikel beschreibt, wie die verschiedenen Tabellenbreitenberechnungseigenschaften funktionieren und wie man die volle Kontrolle über die Tabellenbreitenberechnung erhält. Das ist besonders nützlich in solchen Fällen, in denen das Tabellenlayout nicht wie erwartet erscheint.

Wie bevorzugte Breite zu verwenden

Die gewünschte Breite eines Tisches oder einzelner Zellen wird durch die bevorzugte Breiteneigenschaft definiert, die die Größe ist, die ein Element zu passen versucht. Das heißt, die bevorzugte Breite kann für die gesamte Tabelle oder für einzelne Zellen vorgegeben werden. In einigen Situationen kann es nicht möglich sein, diese Breite genau zu passen, aber die tatsächliche Breite wird in den meisten Fällen nahe an diesem Wert sein.

Der geeignete bevorzugte Breitentyp und -wert wird mit den Methoden der PreferredWidth Klasse:

  • die Auto Feld, um Auto oder “keine bevorzugte Breite” anzugeben
  • die FromPercent Verfahren zur Angabe einer prozentualen Breite
  • die FromPoints Methode zur Angabe der Breite in Punkten

Die nachfolgenden Bilder zeigen eine Darstellung der bevorzugten Breiteneinstellungsmerkmale in Microsoft Word und ihre entsprechenden Eigenschaften in Aspose.Words.

formatting-table-properties-aspose-words-java

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

table-applied-options-java

Geben Sie die bevorzugte Tabelle oder Zellbreite an

In Aspose.Words, Tabelle und Zellbreiten werden mit der Table.PreferredWidth und die CellFormat.PreferredWidth mit Optionen in der PreferredWidthType Aufzählung:

  • Ja. Auto, die keiner bevorzugten Breite entspricht
  • Ja. Percent, die das Element in Bezug auf den zur Verfügung stehenden Raum in der Fenster- oder Behältergröße passt und den Wert neu berechnet, wenn sich die verfügbare Breite ändert
  • Ja. Points, das einem Element der vorgegebenen Breite in Punkten entspricht

Verwendung von Table.PreferredWidth die Eigenschaft wird ihre bevorzugte Breite relativ zu ihrem Behälter einstellen: Seite, Textspalte oder äußere Tischzelle, wenn es sich um eine geschachtelte Tabelle handelt.

Das folgende Codebeispiel zeigt, wie man die Tabelle auf 50 % der Seitenbreite automatisch einstellt:

Verwendung von CellFormat.PreferredWidth eine Eigenschaft auf einer bestimmten Zelle wird ihre bevorzugte Breite einstellen.

Das folgende Codebeispiel zeigt, wie die verschiedenen bevorzugten Breiteneinstellungen eingestellt werden können:

Finden Sie bevorzugte Breitentyp und Wert

Sie können die Type und Value Eigenschaften, um die bevorzugten Breitenangaben der gewünschten Tabelle oder Zelle zu finden.

Das folgende Codebeispiel zeigt, wie man den bevorzugten Breitentyp einer Tabellenzelle abruft:

Wie man Autofit einstellt

Die AllowAutoFit Eigenschaft erlaubt Zellen in einer Tabelle zu wachsen und nach einem ausgewählten Kriterium zu schrumpfen. Zum Beispiel können Sie die AutoFit zum Fenster Möglichkeit, die Tabelle an die Breite der Seite anzupassen, und AutoFit zum Inhalt Möglichkeit, jede Zelle nach ihrem Inhalt wachsen oder schrumpfen zu lassen.

Standardmäßig, Aspose.Words setzt eine neue Tabelle mit AutoFit zum Fenster. Die Tabelle wird entsprechend der verfügbaren Seitenbreite bemessen. Um einen Tisch zu vergrößern, können Sie die AutoFit Methode. Diese Methode akzeptiert AutoFitBehavior Aufzählung, die angibt, welche Art von Autofit auf der Tabelle angewendet wird.

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

Das folgende Codebeispiel zeigt, wie eine Tabelle eingestellt wird, um jede Zelle entsprechend ihrem Inhalt zu schrumpfen oder zu wachsen:

Wir verwenden die folgende Tabelle, um die verschiedenen Autopasseinstellungen als Demonstration anzuwenden.

apply-different-autofit-settings-to-a-table-aspose-words-java

AutoFit Tisch zum Fenster

Wenn das Autofitting an einem Fenster auf eine Tabelle angewendet wird, werden die folgenden Operationen tatsächlich hinter den Kulissen durchgeführt:

ANHANG Die Table.AllowAutoFit Eigenschaft wird aktiviert, um die Spalten automatisch zu ändern, um den verfügbaren Inhalt anzupassen, indem eine Table.PreferredWidth Wert von 100% 2. CellFormat.PreferredWidth aus allen Tabellenzellen entfernt

3. Säulenbreiten 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 man eine Tabelle auf die Seitenbreite autofitt:

Ein Beispiel dafür, wie diese Optionen auf die obige Tabelle angewendet werden, ist im folgenden Bild zu sehen.

autofit-table-aspose-words-java

AutoFit-Tabelle zum Inhalt

Wenn die Tabelle den Inhalt automatisch ergänzt, werden die folgenden Schritte tatsächlich hinter den Kulissen durchgeführt:

ANHANG Die Table.AllowAutoFit Eigenschaft wird aktiviert, um jede Zelle automatisch nach ihrem Inhalt zu ändern

  1. Die bevorzugte Tischbreite wird von Table.PreferredWidth, CellFormat.PreferredWidth für jede Tischzelle entfernt

  2. 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 so hoch wie der Benutzer den Text bearbeitet

Das folgende Codebeispiel zeigt, wie man eine Tabelle zu seinem Inhalt autofit:

Ein Beispiel dafür, wie diese Optionen auf die obige Tabelle angewendet werden, ist im folgenden Bild zu sehen.

resize-column-autofit-settings-aspose-words-java

AutoFit in Tabelle deaktivieren und Fixed Column Widths verwenden

Wenn eine Tabelle autofit deaktiviert und feste Spaltenbreiten verwendet wird, werden die folgenden Schritte durchgeführt:

ANHANG Table.AllowAutoFit Eigenschaft ist deaktiviert, so dass Spalten nicht wachsen oder schrumpfen auf ihren Inhalt 2. Die bevorzugte Breite des gesamten Tisches wird entfernt Table.PreferredWidth, CellFormat.PreferredWidth aus allen Tabellenzellen entfernt 3. Das Endergebnis ist eine Tabelle, deren Spaltenbreiten durch die CellFormat.Width Eigenschaft, deren Spalten beim Eingeben von Text oder beim erneuten Formatieren der Seite nicht automatisch neu formatiert werden

Das folgende Codebeispiel zeigt, wie man Autofit deaktivieren und feste Breite für die angegebene Tabelle aktivieren kann:

Ein Beispiel dafür, wie diese Optionen auf die obige Tabelle angewendet werden, ist im folgenden Bild zu sehen.

disable-autofit-settings-to-a-table-aspose-words-java

Reihenfolge der Vorgänge bei der Berechnung der Zellbreite

Aspose.Words ermöglicht Benutzern, die Breite einer Tabelle oder Zelle durch mehrere Objekte zu definieren, einschließlich CellFormat – seine Width Eigenschaft wird meist von früheren Versionen überlassen, aber es ist immer noch nützlich, um die Einstellung der Zellbreite zu vereinfachen.

Es ist wichtig zu wissen, daß CellFormat.Width Eine Eigenschaft funktioniert anders, je nachdem, welche der anderen Breiteneigenschaften bereits in der Tabelle vorhanden sind.

Aspose.Words verwendet die folgende Reihenfolge zur Berechnung von Zellbreiten:

Ordnung Eigentum Warenbezeichnung
1 AllowAutoFit wird bestimmt wenn AutoFit ist aktiviert:
- die Tabelle kann über die bevorzugte Breite wachsen, um den Inhalt aufzunehmen – sie schrumpft in der Regel nicht unter der bevorzugten Breite
- jede Änderung der CellFormat.Width Wert wird ignoriert und die Zelle wird auf ihren Inhalt passen statt
2 PreferredWidthType mit einem Wert von Points oder Percent CellFormat.Width wird ignoriert
3 PreferredWidthType mit einem Wert von Auto Der Wert von CellFormat.Width wird kopiert und wird die bevorzugte Breite der Zelle (in Punkten)

Getrennt zwischen Zellen zulassen

Sie können einen zusätzlichen Raum zwischen Tabellenzellen ähnlich der Option “Сell Distance” in Microsoft Word. Dies kann mit der AllowCellSpacing Eigentum.

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

formatting-spacing-between-cells-aspose-words-java

Das folgende Codebeispiel zeigt, wie der Abstand zwischen Zellen eingestellt werden kann:

Anwenden von Grenzen und Schattierung

Grenzen und Schattierungen können entweder auf die gesamte Tabelle mit Table.SetBorder, Table.SetBorders und Table.SetShading, oder nur bestimmte Zellen verwenden CellFormat.Borders und CellFormat.Shading. Zusätzlich können Zeilengrenzen mit RowFormat.Borders, Auf diese Weise kann jedoch eine Schattierung nicht angewendet werden.

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

apply-borders-shading-aspose-words-java-1

apply-borders-shading-aspose-words-java-2

Das folgende Codebeispiel zeigt, wie man eine Tabelle und Zelle mit unterschiedlichen Grenzen und Schattierungen formatiert: