Arbeiten mit Säulen und Reihen

Für mehr Kontrolle darüber, wie Tabellen funktionieren, lernen, wie man Spalten und Zeilen manipuliert.

Tabelle Element Index finden

Spalten, Zeilen und Zellen werden verwaltet, indem der ausgewählte Dokumentknoten durch seinen Index aufgerufen wird. Das Finden des Index eines beliebigen Knotens beinhaltet das Sammeln aller Child-Knoten des Elementtyps aus dem Elternknoten und dann die Verwendung des IndexOf Verfahren zum Auffinden des Index des gewünschten Knotens in der Sammlung.

Finden Sie den Index einer Tabelle in einem Dokument

Manchmal müssen Sie Änderungen an einer bestimmten Tabelle in einem Dokument vornehmen. Um dies zu tun, können Sie auf eine Tabelle mit seinem Index.

Das folgende Codebeispiel zeigt, wie man den Index einer Tabelle in einem Dokument abruft:

Suche nach dem Index einer Reihe in einer Tabelle

Ebenso müssen Sie in einer ausgewählten Tabelle Änderungen in einer bestimmten Zeile vornehmen. Um dies zu tun, können Sie sich auch auf eine Zeile mit seinem Index beziehen.

Das folgende Codebeispiel zeigt, wie man den Index einer Zeile in einer Tabelle abruft:

Den Index einer Zelle in einer Row finden

Schließlich müssen Sie möglicherweise Änderungen an einer bestimmten Zelle vornehmen, und Sie können dies auch durch Zellindex tun.

Das folgende Codebeispiel zeigt, wie man den Index einer Zelle in einer Zeile abruft:

Arbeiten mit Säulen

In der Aspose.Words Document Object Model (DOM), Table Knoten besteht aus Row Knoten und dann Cell Knoten. So, in der Document Objektmodell Aspose.Words, wie in Word-Dokumenten, gibt es kein Konzept einer Spalte.

Durch Design, die Tischzeilen in Microsoft Word und Aspose.Words vollständig unabhängig sind und die Grundeigenschaften und Vorgänge nur in den Zeilen und Zellen der Tabelle enthalten sind. Dies gibt Tabellen die Möglichkeit, einige interessante Attribute zu haben:

  • Jede Tischzeile kann eine völlig andere Anzahl von Zellen haben
  • Die Zellen jeder Reihe können unterschiedliche Breiten haben
  • Ja. Es ist möglich, Tabellen mit verschiedenen Zeilenformaten und Anzahl der Zellen zu verbinden

work-with-columns-aspose-words-java

Alle Operationen, die auf Spalten durchgeführt werden, sind tatsächlich “Kurzschnitte”, die die Operation durch kollektiv wechselnde Zeilenzellen so durchführen, dass es aussieht, als ob sie auf Spalten angewendet werden. Das heißt, Sie können Operationen auf Spalten durchführen, indem Sie einfach über den gleichen Tabellenzeilen-Zellindex iterieren.

Das folgende Codebeispiel vereinfacht diese Operationen, indem eine Fassadenklasse nachgewiesen wird, die die Zellen sammelt, die eine “Säule” einer Tabelle bilden:

Das folgende Codebeispiel zeigt, wie eine leere Spalte in eine Tabelle eingefügt werden kann:

Das folgende Codebeispiel zeigt, wie man eine Spalte aus einer Tabelle in einem Dokument entfernt:

Zeilen als Kopfzeilen angeben

Sie können die erste Zeile in der Tabelle als Header Row nur auf der ersten Seite oder auf jeder Seite wiederholen, wenn die Tabelle in mehrere aufgeteilt wird. In Aspose.Words, Sie können die Header Row auf jeder Seite mit der HeadingFormat Eigentum.

Sie können auch mehrere Headerzeilen markieren, wenn sich solche Zeilen am Anfang der Tabelle hintereinander befinden. Um dies zu tun, müssen Sie die HeadingFormat Eigenschaften zu diesen Zeilen.

Das folgende Codebeispiel zeigt, wie man eine Tabelle erstellt, die Header Rows enthält, die auf folgenden Seiten wiederholen:

Tabellen und Zeilen von Across-Seiten brechen

Es gibt Zeiten, in denen der Inhalt einer Tabelle nicht auf Seiten aufgeteilt werden sollte. Wenn beispielsweise ein Titel über einer Tabelle liegt, sollten Titel und Tisch immer auf der gleichen Seite zusammengehalten werden, um das richtige Aussehen zu erhalten.

Es gibt zwei separate Techniken, die nützlich sind, um diese Funktionalität zu erreichen:

  • Ja. Allow row break across pages, die auf Tabellenzeilen angewendet wird
  • Ja. Keep with next, die auf die Absätze in Tabellenzellen angewendet wird

Standardmäßig sind die obigen Eigenschaften deaktiviert.

keep-tables-and-rows-from-breaking-across-pages-aspose-words-java

Halten Sie einen Row von Breaking Across-Seiten

Dies beinhaltet die Einschränkung von Inhalten innerhalb der Zellen einer Zeile von der Spaltung über eine Seite. In Microsoft Word, dies kann unter Tabelle Eigenschaften als Option “Zeigen Sie Zeile, um über Seiten zu brechen”. In Aspose.Words dies unter der RowFormat Objekt eines Row als Eigentum RowFormat.AllowBreakAcrossPages.

keep-rows-from-breaking-across-pages-aspose-words-java

Das folgende Codebeispiel zeigt, wie man Zeilen über Seiten für jede Zeile in einer Tabelle deaktivieren kann:

Halten Sie einen Tisch von Across-Seiten brechen

Um die Tabelle von der Aufspaltung über Seiten zu stoppen, müssen wir festlegen, dass wir den Inhalt in der Tabelle zusammenhalten möchten.

Um das zu tun, Aspose.Words verwendet ein Verfahren, das es Benutzern ermöglicht, eine Tabelle auszuwählen und die KeepWithNext Parameter zu true für jeden Absatz innerhalb der Tabellenzellen. Die Ausnahme ist der letzte Absatz in der Tabelle, der auf false.

keep-tables-from-breaking-across-pages-aspose-words-java

Das folgende Codebeispiel zeigt, wie man eine Tabelle einstellt, um auf derselben Seite zusammen zu bleiben: