Работа с колоннами и рядами

Чтобы лучше контролировать работу таблиц, научитесь манипулировать столбцами и строками.

Найдите индекс элементов таблицы

Колонки, строки и ячейки управляются путем доступа к выбранному узлу документа по его индексу. Поиск индекса любого узла включает в себя сбор всех дочерних узлов типа элемента из родительского узла, а затем использование IndexOf Способ нахождения индекса нужного узла в коллекции.

Найдите индекс таблицы в документе

Иногда вам может потребоваться внести изменения в определенную таблицу в документе. Для этого можно обратиться к таблице по ее индексу.

Следующий пример кода показывает, как восстановить индекс таблицы в документе:

Найти индекс строки в таблице

Точно так же вам может потребоваться внести изменения в определенную строку в выбранной таблице. Для этого также можно обратиться к строке по ее индексу.

Следующий пример кода показывает, как восстановить индекс строки в таблице:

Найти индекс клетки в ряде

Наконец, вам может потребоваться внести изменения в конкретную клетку, и вы можете сделать это по индексу ячейки.

Следующий пример кода показывает, как получить индекс ячейки подряд:

Работа с колоннами

В этом Aspose.Words Document Object Model ()DOM), Table Узел состоит из Row узлы и затем Cell Узлы. Таким образом, в Document Объектная модель Aspose.WordsКак и в документах Word, понятие столбца отсутствует.

По дизайну, стол в ряд Microsoft Word и Aspose.Words Они полностью независимы, а основные свойства и операции содержатся только в строках и ячейках таблицы. Это дает таблицам возможность иметь некоторые интересные атрибуты:

  • Каждая строка таблицы может иметь совершенно разное количество ячеек
  • Вертикально, ячейки каждого ряда могут иметь разную ширину
  • Можно объединять таблицы с различными форматами строк и количеством ячеек

work-with-columns-aspose-words-java

Любые операции, выполняемые на столбцах, на самом деле являются “короткими”, которые выполняют операцию путем коллективного изменения ячеек строк таким образом, что кажется, что они применяются к столбцам. То есть, вы можете выполнять операции на столбцах, просто повторяя один и тот же индекс ячеек строки таблицы.

Следующий пример кода упрощает такие операции, доказывая класс фасада, который собирает ячейки, составляющие “столбец” таблицы:

Следующий пример кода показывает, как вставить пустую колонку в таблицу:

Следующий пример кода показывает, как удалить колонку из таблицы в документе:

Укажите Rows как Header Rows

Вы можете повторить первую строку в таблице в виде строки заголовка только на первой странице или на каждой странице, если таблица разделена на несколько. в Aspose.Words, Вы можете повторить строку заголовка на каждой странице, используя HeadingFormat собственность.

Вы также можете отметить несколько рядов заголовков, если такие ряды расположены один за другим в начале таблицы. Для этого вам необходимо применить HeadingFormat Свойства этих рядов.

Следующий пример кода показывает, как построить таблицу, которая включает строки заголовков, которые повторяются на последующих страницах:

Держите столы и ряды от прорыва через страницы

Бывают случаи, когда содержимое таблицы не должно быть разделено на страницы. Например, если заголовок находится над таблицей, заголовок и таблица всегда должны храниться вместе на одной странице, чтобы сохранить правильный внешний вид.

Есть два отдельных метода, которые полезны для достижения этой функциональности:

  • Allow row break across pages, который применяется к столовым рядам
  • Keep with next, который применяется к абзацам в ячейках таблицы

По умолчанию вышеперечисленные свойства отключены.

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

Держите ряд от прорыва через страницы

Это включает в себя ограничение содержимого внутри ячеек строки от деления на страницу. в Microsoft Word, Это можно найти в разделе Свойства таблицы в качестве опции “Разрешить строку разбивать страницы”. в Aspose.Words Он находится под RowFormat объектом Row как имущество RowFormat.AllowBreakAcrossPages.

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

Следующий пример кода показывает, как отключить разбивку строк по страницам для каждой строки в таблице:

Держите таблицу от разрыва страниц

Чтобы стол не разделялся по страницам, мы должны указать, что мы хотим, чтобы контент, содержащийся в таблице, оставался вместе.

Чтобы сделать это, Aspose.Words использует метод, который позволяет пользователям выбрать таблицу и включить KeepWithNext параметр для true для каждого абзаца в ячейках таблицы. Исключением является последний пункт в таблице, который следует установить для false.

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

Следующий пример кода показывает, как установить таблицу, чтобы оставаться вместе на одной странице: