Vytvoření tabulky
Aspose.Words umožňuje uživatelům vytvářet tabulky v dokumentu od nuly a poskytuje několik různých metod. Tento článek představuje podrobnosti o tom, jak přidat formátované tabulky do dokumentu pomocí každé metody, a také srovnání každé metody na konci článku.
Výchozí Styly Tabulky
Nově vytvořená tabulka má výchozí hodnoty podobné těm, které se používají v Microsoft Word:
Vlastnost Tabulky | Výchozí hodnota v Aspose.Words |
---|---|
Border Style |
Single |
Border Width |
1/2 bod |
Border Color |
Black |
Left and Right Padding |
5.4 pts |
AutoFit Mode |
AutoFit to Window |
Allow AutoFit |
True |
Vytvořte tabulku pomocí DocumentBuilder
V Aspose.Words mohou uživatelé vytvořit tabulku v dokumentu pomocí DocumentBuilder. Základní algoritmus pro vytvoření tabulky je následující:
- Začněte tabulku StartTable
- Přidání buňky do tabulky pomocí InsertCell - tím se automaticky spustí nový řádek
- Volitelně použijte vlastnost CellFormat k určení formátování buněk
- Vložte obsah buňky pomocí příslušných metod DocumentBuilder, jako je Writeln, InsertImage a dalších
- Opakujte kroky 2-4, dokud není řádek dokončen
- Volání EndRow pro ukončení aktuálního řádku
- Volitelně použijte vlastnost RowFormat k určení formátování řádků
- Opakujte kroky 2-7, dokud není tabulka dokončena
- Zavolejte EndTable a dokončete sestavení tabulky
Důležité detaily:
- StartTable lze také volat uvnitř buňky, v takovém případě zahájí vytváření vnořené tabulky v buňce.
- Po volání InsertCell se vytvoří nová buňka a veškerý obsah, který přidáte pomocí jiných metod třídy DocumentBuilder, bude přidán do aktuální buňky. Chcete-li vytvořit novou buňku na stejném řádku, zavolejte znovu InsertCell.
- Pokud je InsertCell volán bezprostředně za EndRow a koncem řádku, tabulka bude pokračovat na novém řádku.
- Metoda EndTable pro ukončení tabulky by měla být volána pouze jednou po volání EndRow. Volání EndTable přesune kurzor z aktuální buňky na pozici bezprostředně za tabulkou.
Proces vytváření tabulky je 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í DocumentBuilder:
Následující příklad kódu ukazuje, jak vložit vnořenou tabulku pomocí DocumentBuilder:
Vytvoření tabulky pomocí DOM (model objektu dokumentu)
Tabulky můžete vložit přímo do DOM přidáním nového uzlu Table na konkrétní pozici.
Vezměte prosím na vědomí, že ihned po vytvoření uzlu tabulky bude samotná tabulka zcela prázdná, to znamená, že ještě neobsahuje řádky a buňky. Chcete-li vložit řádky a buňky do tabulky, přidejte příslušné podřízené uzly Row a Cell do DOM.
Následující příklad kódu ukazuje, jak vytvořit novou tabulku od nuly přidáním příslušných podřízených uzlů do stromu dokumentů:
Vytvořte tabulku z HTML
Aspose.Words podporuje vkládání obsahu do dokumentu ze zdroje HTML metodou InsertHtml. Vstupem může být úplná stránka HTML nebo jen částečný úryvek.
Pomocí metody InsertHtml mohou uživatelé vkládat tabulky do dokumentu pomocí značek tabulek, jako je <table>
, <tr>
, <td>
.
Následující příklad kódu ukazuje, jak vložit tabulku do dokumentu z řetězce obsahujícího značky HTML:
Vložení kopie existující tabulky
Často se stává, že potřebujete vytvořit tabulku na základě již existující tabulky v dokumentu. Nejjednodušší způsob, jak duplikovat tabulku při zachování veškerého formátování, je klonovat uzel tabulky pomocí metody Clone.
Stejnou techniku lze použít k přidání kopií existujícího řádku nebo buňky do tabulky.
Následující příklad kódu ukazuje, jak duplikovat tabulku pomocí konstruktorů uzlů:
Následující příklad kódu ukazuje, jak klonovat poslední řádek tabulky a připojit jej k tabulce:
Pokud se díváte na vytváření tabulek v dokumentu, které dynamicky rostou s každým záznamem ze zdroje dat, výše uvedená metoda se nedoporučuje. Místo toho je požadovaného výstupu snadněji dosaženo použitím Mail merge s regiony. Více o této technice se můžete dozvědět v Mail Merge s regiony oddíl.
Porovnejte způsoby vytvoření tabulky
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, který se má použít, často závisí na konkrétní situaci.
Podívejme se blíže na tyto způsoby vytváření tabulek a porovnejme jejich klady a zápory:
Způsoba | Výhoda | Nevýhoda |
---|---|---|
DocumentBuilder |
Standardní metoda pro vkládání tabulek a dalšího obsahu dokumentu | Někdy je obtížné vytvořit mnoho druhů tabulek současně se stejnou instancí stavitele |
Via DOM | Lépe zapadá do okolního kódu, 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, abyste vytvořili chybějící podřízené uzly |
Od HTML | Může vytvořit novou tabulku ze zdroje HTML pomocí značek jako <table> , <tr> , <td> |
Ne všechny možné formáty tabulek Microsoft Word lze použít na HTML |
Klonování existující tabulky | Můžete vytvořit kopii existující tabulky při zachování veškerého formátování řádků a buněk | Příslušné podřízené uzly musí být odstraněny, než bude tabulka připravena k použití |