Sloučit Buňky Tabulky
Některé řádky v tabulce někdy vyžadují Nadpis nebo velké bloky textu, které zabírají celou šířku tabulky. Pro správný návrh tabulky může uživatel sloučit několik buněk tabulky do jedné. Aspose.Words podporuje sloučené buňky při práci se všemi vstupními formáty, včetně importu obsahu HTML.
Jak sloučit buňky tabulky
V Aspose.Words jsou sloučené buňky reprezentovány následujícími vlastnostmi třídy CellFormat:
- HorizontalMerge, který popisuje, zda je buňka součástí horizontálního sloučení buněk
- VerticalMerge, který popisuje, zda je buňka součástí vertikálního sloučení buněk
Hodnoty těchto vlastností určují slučovací chování buněk:
- První buňka v sekvenci sloučených buněk bude mít CellMerge.First
- Všechny následně sloučené buňky budou mít CellMerge.Previous
- Buňka, která není sloučena, bude mít CellMerge.None
Zkontrolujte, zda je buňka sloučena
Chcete-li zkontrolovat, zda je buňka součástí sekvence sloučených buněk, jednoduše zkontrolujeme vlastnosti HorizontalMerge a VerticalMerge.
Následující příklad kódu ukazuje, jak vytisknout Typ sloučení horizontální a vertikální buňky:
Sloučené buňky v tabulce
Chcete – li sloučit buňky v tabulce vytvořené pomocí DocumentBuilder, musíte nastavit vhodný typ sloučení pro každou buňku, kde se očekává sloučení-nejprve CellMerge.First a poté CellMerge.Previous.
Musíte také pamatovat na vymazání nastavení sloučení pro ty buňky, kde není vyžadováno sloučení-to lze provést nastavením první buňky, která není sloučena, na CellMerge.None. Pokud tak neučiníte, všechny buňky v tabulce budou sloučeny.
Následující příklad kódu ukazuje, jak vytvořit tabulku se dvěma řádky, kde jsou buňky v prvním řádku sloučeny vodorovně:
Následující příklad kódu ukazuje, jak vytvořit tabulku se dvěma sloupci, kde jsou buňky v prvním sloupci vertikálně sloučeny:
Sloučit buňky tabulky v jiných případech
V jiných situacích, kdy se DocumentBuilder nepoužívá, například v existující tabulce, nemusí být sloučení buněk předchozím způsobem tak snadné. Místo toho můžeme zabalit základní operace spojené s aplikací vlastností sloučení do buněk metodou, která úkol mnohem usnadní. Tato metoda je podobná metodě automatizace sloučení, která se nazývá sloučení řady buněk v tabulce.
Níže uvedený kód sloučí buňky tabulky v zadaném rozsahu, počínaje danou buňkou a končící na koncové buňce. V tomto případě může rozsah zahrnovat více řádků nebo sloupců:
Následující příklad kódu ukazuje, jak sloučit rozsah buněk mezi dvěma určenými buňkami:
V závislosti na verzi rámce, kterou používáte, možná budete chtít tuto metodu vylepšit přeměnou na metodu rozšíření. V tomto případě můžete tuto metodu zavolat přímo na buňku a sloučit rozsah buněk, například cell1.Merge(cell2)
.
Vertikální a horizontální sloučené buňky v tabulce
Jak jsme řekli v předchozích článcích, tabulka v Microsoft Word je sada nezávislých řádků. Každý řádek má sadu buněk, které jsou nezávislé na buňkách jiných řádků. V tabulce Microsoft Word tedy neexistuje žádný takový objekt jako" sloupec “a” 1.sloupec “je něco jako"sada 1. buněk každého řádku v tabulce”. To umožňuje uživatelům mít tabulku, ve které se například 1.řádek skládá ze dvou buněk – 2 cm a 1 cm a 2. řádek se skládá ze dvou různých buněk – 1 cm a 2 cm širokých. A Aspose.Words podporuje tento koncept tabulek.
Tabulka v HTML má v podstatě odlišnou strukturu: každý řádek má stejný počet buněk a (je to důležité pro úkol) každá buňka má šířku odpovídajícího sloupce, stejnou pro všechny buňky v jednom sloupci. Pokud tedy HorizontalMerge a VerticalMerge vrátí nesprávnou hodnotu, použijte následující příklad kódu:
Převést na vodorovně sloučené buňky
Někdy není možné zjistit, které buňky jsou sloučeny, protože některé novější verze Microsoft Word již nepoužívají příznaky sloučení, když jsou buňky sloučeny vodorovně. Ale pro situace, kdy jsou buňky sloučeny do buňky vodorovně podle jejich šířky pomocí příznaků sloučení, Aspose.Words poskytuje metodu ConvertToHorizontallyMergedCells
pro převod buněk. Tato metoda jednoduše transformuje tabulku a podle potřeby přidává nové buňky.
Následující příklad kódu ukazuje výše uvedenou metodu v provozu: