Vytvořit tabulku
Aspose.Words umožňuje uživatelům vytvářet tabulky v dokumentu od nuly a poskytuje pro to několik různých metod. Tento článek uvádí podrobnosti o tom, jak přidat formátované tabulky do dokumentu pomocí každé metody, stejně jako srovnání každé metody na konci článku.
Výchozí styl tabulky
Nově vytvořená tabulka je dána výchozími hodnotami podobnými hodnotám používaným v Microsoft Word:
Tabulka Vlastnosti | Výchozí v Aspose.Words |
---|---|
Border Style |
Single |
Border Width |
1/2 pt |
Barva okraje | Black |
Left and Right Padding |
5.4 pts |
AutoFit Mode |
AutoFit to Window |
Allow AutoFit |
True |
Tabulka může být inline, pokud je pevně umístěna, nebo plovoucí, pokud může být umístěna kdekoli na stránce. Ve výchozím nastavení Aspose.Words vždy vytváří inline stoly.
|
Vytvořit tabulku s dokumentemStavitel
In Aspose.Words, uživatelé mohou vytvořit tabulku v dokumentu pomocí DocumentBuilder. Základní algoritmus pro vytvoření tabulky je následující:
- Spustit tabulku s StartTable
- Přidání buňky do tabulky pomocí InsertCell Toto automaticky spustí nový řádek
- Volitelně použijte CellFormat vlastnost pro upřesnění formátování buněk
- Vložit obsah buňky pomocí vhodného DocumentBuilder metody, jako jsou Writeln, InsertImage, a další
- Opakujte kroky 2-4 až do dokončení řady
- Volat EndRow k ukončení aktuálního řádku
- Volitelně použijte RowFormat vlastnost pro upřesnění formátování řádku
- Opakujte kroky 2-7 až do dokončení tabulky
- Volat EndTable dokončit stavbu stolu
Důležité informace:
- StartTable lze také volat uvnitř buňky, v tom případě to začíná vytvořením vnořeného stolu uvnitř buňky.
- Po zavolání InsertCell, vytvoří se nová buňka a jakýkoliv obsah, který přidáte pomocí jiných metod DocumentBuilder třída bude přidána do současné buňky. Chcete-li vytvořit novou buňku ve stejném řádku, zavolejte InsertCell Znovu.
- Pokud InsertCell volá okamžitě po EndRow a konec řady, tabulka bude pokračovat v nové řadě.
- The EndTable způsob ukončení tabulky by měl být volán pouze jednou po volání EndRow. Volání EndTable přesune kurzor z aktuální buňky do polohy bezprostředně za tabulkou.
Proces vytváření tabulky lze jasně vidět na následujícím obrázku:
Následující příklad kódu ukazuje, jak vytvořit jednoduchou tabulku pomocí DocumentBuilder s výchozím formátováním:
Následující příklad kódu ukazuje, jak vytvořit formátovanou tabulku pomocí nástroje DocumentBuilder:
Následující příklad kódu ukazuje, jak vložit vnořenou tabulku pomocí nástroje DokumentBuilder:
Vytvořit tabulku prostřednictvím DOM (Document Object Model)
Tabulky můžete vložit přímo do DOM přidáním nového Table Uzel na konkrétní pozici.
Vezměte prosím na vědomí, že ihned po vytvoření uzel stolu bude stůl zcela prázdný, tedy že dosud neobsahuje řádky a buňky. Pro vložení řádků a buněk do tabulky přidejte odpovídající Row a Cell dětské uzliny na DOM.
Následující příklad kódu ukazuje, jak postavit novou tabulku od nuly přidáním odpovídajících dětských uzlů do stromu dokumentu:
Vytvořit tabulku z HTML
Aspose.Words podporuje vložení obsahu do dokumentu ze zdroje HTML pomocí InsertHtml metoda. Vstupem může být celá HTML stránka nebo jen částečný úryvek.
S použitím tohoto InsertHtml způsob, uživatelé mohou vložit tabulky do dokumentu přes tagy tabulky, jako je <table>
, <tr>
, <td>
.
Následující příklad kódu ukazuje, jak vložit tabulku do dokumentu z řetězce obsahující HTML tagy:
Vložit kopii existující tabulky
Často jsou chvíle, kdy potřebujete vytvořit tabulku založenou na již existující tabulce v dokumentu. Nejjednodušší způsob, jak duplikovat tabulku a zároveň zachovat formátování, je klonovat uzel tabulky pomocí deepClone metoda.
Stejnou techniku lze použít pro přidání kopií existující řady nebo buňky do tabulky.
Následující příklad kódu ukazuje, jak duplikovat tabulku pomocí konstruktérů uzlů:
Následující příklad kódu ukazuje, jak naklonovat poslední řádek tabulky a přidat ji do tabulky:
Pokud se díváte na vytváření tabulek v dokumentu, který dynamicky roste s každým záznamem ze zdroje dat, pak výše uvedená metoda se nedoporučuje. Místo toho je požadovaný výstup snadněji dosaženo použitím Mail merge s regiony. O této technice se můžete dozvědět více v Mail Merge s regiony sekce.
Porovnat způsoby, jak vytvořit tabulku
Aspose.Words poskytuje několik metod pro vytvoření nových tabulek v dokumentu. Každá metoda má své vlastní výhody a nevýhody, takže výběr z nich často závisí na konkrétní situaci.
Pojďme se blíže podívat na tyto způsoby vytváření tabulek a porovnat jejich pro a proti:
Metoda | Výhody | Nevýhody |
---|---|---|
Via DocumentBuilder |
Standardní metoda pro vložení tabulek a jiného obsahu dokumentu | Někdy obtížné vytvořit mnoho odrůd tabulek současně se stejnými stavební instance |
Via DOM | Sedí lépe s okolním kódem, který vytváří a vkládá uzly přímo do DOM bez použití DocumentBuilder | Tabulka je vytvořena “prázdná”: před provedením většiny operací musíte zavolat EnsureMinimum vytvořit chybějící dětské uzly |
Od HTML | Lze vytvořit novou tabulku ze zdroje HTML pomocí značek jako <table> , <tr> , <td> |
Ne všechny možné Microsoft Word formáty tabulky lze aplikovat na HTML |
Klonování stávající tabulky | Můžete vytvořit kopii existující tabulky při zachování všech řádek a formátování buněk | Příslušné dětské uzly musí být odstraněny před tím, než je tabulka připravena k použití |