Слияние настольных клеток

Иногда определенные строки в таблице требуют заголовка или больших блоков текста, которые занимают всю ширину таблицы. Для правильного оформления таблицы пользователь может объединить несколько ячеек таблицы в одну. Aspose.Words Поддерживает слияние ячеек при работе со всеми форматами ввода, включая импорт HTML-контента.

Как объединить столовые клетки

В Aspose.Words, Слитые клетки представлены следующими свойствами CellFormat класс:

  • HorizontalMerge Описывает, является ли клетка частью горизонтального слияния клеток
  • VerticalMerge который описывает, является ли клетка частью вертикального слияния клеток

Значения этих свойств определяют слияние поведения клеток:

  • Первая клетка в последовательности слитых клеток будет иметь CellMerge.First
  • Последующие слившиеся клетки будут иметь CellMerge.Previous
  • Ячейка, которая не сливается, будет иметь CellMerge.None

Проверьте, слита ли клетка

Чтобы проверить, является ли клетка частью последовательности слитых клеток, мы просто проверяем HorizontalMerge и VerticalMerge свойств.

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

Слияние настольных клеток при использовании DocumentBuilder

Слияние клеток в таблице, созданной с помощью DocumentBuilder, Вы должны установить соответствующий тип слияния для каждой ячейки, где ожидается слияние. CellMerge.First А потом CellMerge.Previous.

Кроме того, вы должны помнить, чтобы очистить настройку слияний для тех клеток, где слияние не требуется - это можно сделать, установив первую несливающуюся клетку. CellMerge.None. Если этого не сделать, все ячейки в таблице будут объединены.

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

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

Слияние настольных клеток в других случаях

В других ситуациях, когда DocumentBuilder не используется, например, в существующей таблице, слияние ячеек предыдущим способом может быть не таким простым. Вместо этого мы можем обернуть основные операции, связанные с применением свойств слияния к клеткам, в метод, который значительно облегчает задачу. Этот метод аналогичен методу автоматизации слияния, который называется объединением ряда ячеек в таблице.

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

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

В зависимости от версии фреймворка, который вы используете, вы можете уточнить этот метод, превратив его в метод расширения. В этом случае вы можете вызвать этот метод непосредственно на клетке для слияния ряда клеток, таких как: cell1.Merge(cell2).

Преобразование в горизонтальное Слияние клеток

Иногда невозможно определить, какие ячейки слиты, потому что некоторые новые версии Microsoft Word Флаги слияния больше не используются, когда ячейки сливаются горизонтально. Но для ситуаций, когда клетки сливаются в ячейку горизонтально по ширине с помощью флагов слияния, Aspose.Words обеспечивает ConvertToHorizontallyMergedCells Способ преобразования клеток. Этот метод просто преобразует таблицу и добавляет новые ячейки по мере необходимости.

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