Сливане на клетки от таблица

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

Как да обединим клетките на таблицата

В Aspose.Words, слетите клетки са представени от следните свойства на CellFormat клас:

  • HorizontalMerge което описва дали клетката е част от хоризонтално сливане на клетки
  • VerticalMerge което описва дали клетката е част от вертикално сливане на клетки

Стойностите на тези свойства определят сливането на поведението на клетките:

  • Първата клетка в поредица от слети клетки ще има CellMerge.First
  • Всички впоследствие слети клетки ще имат CellMerge.Previous
  • Клетка, която не се слива ще има CellMerge.None

work-with-merged-cells-aspose-words-java

Проверка дали клетка се свързва

За да проверим дали дадена клетка е част от поредица от слети клетки, просто проверяваме HorizontalMerge както и VerticalMerge имоти.

Следният пример за код показва как да отпечатате типа хоризонтално и вертикално сливане на клетките:

Сливане на таблици клетки при използване на документ строител

Сливане на клетки в таблица, създадена с DocumentBuilder, трябва да зададете подходящия тип сливане за всяка клетка, където сливането се очаква по-рано CellMerge.First и тогава CellMerge.Previous.

Също така, не трябва да забравяте да изчистите настройката за сливане за тези клетки, където не се изисква сливане го може да се направи чрез задаване на първата несливаща се клетка към CellMerge.None. Ако това не стане, всички клетки в таблицата ще бъдат обединени.

Следният пример за код показва как да се създаде таблица с два реда, където клетките в първия ред се сливат хоризонтално:

Следният пример за код показва как да се създаде таблица с две колони, в която клетките в първата колона се сливат вертикално:

Сливане на таблици клетки в други случаи

В други ситуации, когато DocumentBuilder не се използва, като например в съществуваща таблица, сливане на клетки по предишния начин може да не е толкова лесно. Вместо това можем да увием основните операции, свързани с прилагането на сливане на свойствата на клетките в метод, който прави задачата много по-лесна. Този метод е подобен на метода за сливане автоматизация, който се нарича сливане на набор от клетки в таблица.

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

Следният пример за код показва как да се слее набор от клетки между две определени клетки:

Вертикални и хоризонтални свързващи клетки в HTML таблица

Както казахме в предишните статии, маса в Microsoft Word е набор от независими редове. Всеки ред има набор от клетки, които са независими от клетките на други редове. По този начин в Microsoft Word таблица не съществува такъв обект като готварски, а първата колона е нещо като набор от 1-ви клетки на всеки ред в таблицата. Това позволява на потребителите да имат таблица, в която, например, първият ред се състои от две клетки 2см и 1см, а вторият ред се състои от две различни клетки, които са широки 1см и 2см. И Aspose.Words поддържа тази концепция за масите.

Таблица в HTML има по същество различна структура: всеки ред има еднакъв брой клетки и (това е важно за задачата) всяка клетка има широчината на съответната колона, еднаква за всички клетки в една колона. Така че, ако HorizontalMerge както и VerticalMerge връщане на неправилна стойност, използвайте следния пример с код:

Конвертиране в хоризонтално положение Разделени клетки

Понякога не е възможно да се открият кои клетки се сливат, защото някои по-нови версии на Microsoft Word вече не използват сливащите се флагове, когато клетките се сливат хоризонтално. Но за ситуации, в които клетките се сливат в клетка хоризонтално с широчината си, използвайки сливащи се флагове, Aspose.Words осигурява ConvertToHorizontallyMergedCells метод за преобразуване на клетки. Този метод просто трансформира таблицата и добавя нови клетки, когато е необходимо.

Следният пример с код показва гореспоменатия метод в действие: