Tabulky se běžně používají v dokumentech aplikace Word k uspořádání informací do struktury podobné mřížce. Umožňují shrnout informace ve formě řádků a sloupců. V tomto článku se dozvíte, jak vytvořit tabulku v dokumentech Wordu programově pomocí Python. Kromě toho se článek bude zabývat tím, jak vytvořit vnořené tabulky nebo klonovat existující tabulku v dokumentech aplikace Word.
- Knihovna Python pro vytváření tabulek v dokumentech aplikace Word
- Vytvořte tabulku v dokumentu aplikace Word
- Vytvořte vnořenou tabulku v dokumentu aplikace Word
- Klonování existující tabulky v dokumentu aplikace Word
Knihovna Python pro vytváření tabulek v dokumentech aplikace Word
Pro práci s tabulkami v dokumentech aplikace Word použijeme Aspose.Words for Python. Knihovna je navržena tak, aby dynamicky vytvářela a manipulovala s dokumenty Wordu z aplikací Python. Knihovnu můžete nainstalovat z PyPI pomocí následujícího příkazu pip.
pip install aspose-words
Vytvořte tabulku v dokumentu aplikace Word v Python
Následují kroky k vytvoření tabulky v dokumentu Word DOCX pomocí Python.
- Vytvořte objekt třídy Document.
- Vytvořte objekt třídy DocumentBuilder.
- Spusťte tabulku pomocí metody DocumentBuilder.starttable() a získejte odkaz na tabulku v objektu.
- Vložte buňku pomocí metody DocumentBuilder.insertcell().
- Nastavte formátování buňky pomocí vlastnosti DocumentBuilder.cellformat.
- Nastavte automatické přizpůsobení pomocí metody autofit(aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS).
- Nastavte zarovnání buňky.
- Vložte text do buňky pomocí metody DocumentBuilder.write().
- Podle potřeby opakujte vkládání buněk a textu do buněk.
- Po dokončení vkládání buněk ukončete řádek.
- Ukončete tabulku, když vložíte všechny řádky.
- Uložte dokument aplikace Word pomocí metody Document.save().
Následující ukázka kódu ukazuje, jak vytvořit tabulku v dokumentech DOCX pomocí Python.
import aspose.words as aw
# Vytvořte nový dokument aplikace Word.
doc = aw.Document()
# Vytvořte nástroj pro tvorbu dokumentů.
builder = aw.DocumentBuilder(doc)
# Spusťte stůl.
table = builder.start_table()
# Vložit buňku.
builder.insert_cell()
# Formátování na šířku tabulky musí být použito poté, co je v tabulce přítomen alespoň jeden řádek.
table.left_indent = 20.0
# Nastavte výšku a definujte pravidlo výšky pro řádek záhlaví.
builder.row_format.height = 40.0
builder.row_format.height_rule = aw.HeightRule.AT_LEAST
# Nastavte zarovnání a nastavení písma.
builder.paragraph_format.alignment = aw.ParagraphAlignment.CENTER
builder.font.size = 16
builder.font.name = "Arial"
builder.font.bold = True
builder.cell_format.width = 100.0
builder.write("Header Row,\n Cell 1")
# Šířku této buňky nemusíme zadávat, protože je zděděna z předchozí buňky.
builder.insert_cell()
builder.write("Header Row,\n Cell 2")
builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Header Row,\n Cell 3")
builder.end_row()
builder.cell_format.width = 100.0
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER
# Resetujte výšku a definujte jiné pravidlo výšky pro tělo stolu.
builder.row_format.height = 30.0
builder.row_format.height_rule = aw.HeightRule.AUTO
builder.insert_cell()
# Obnovit formátování písma.
builder.font.size = 12
builder.font.bold = False
builder.write("Row 1, Cell 1 Content")
builder.insert_cell()
builder.write("Row 1, Cell 2 Content")
builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Row 1, Cell 3 Content")
builder.end_row()
builder.insert_cell()
builder.cell_format.width = 100.0
builder.write("Row 2, Cell 1 Content")
builder.insert_cell()
builder.write("Row 2, Cell 2 Content")
builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Row 2, Cell 3 Content.")
builder.end_row()
# Stolek.
builder.end_table()
# Uložte dokument.
doc.save("table_formatted.docx")
Následuje snímek obrazovky tabulky, kterou jsme vytvořili pomocí výše uvedeného ukázkového kódu.
Vytvořte vnořenou tabulku v dokumentu aplikace Word v Python
Aspose.Words for Python vám také umožňuje bezproblémově vytvořit vnořenou tabulku. Jinými slovy, můžete vytvořit novou tabulku v buňce tabulky. Následují kroky k vytvoření vnořené tabulky v souboru Word DOCX.
- Vytvořte objekt třídy Document.
- Vytvořte objekt třídy DocumentBuilder.
- Spusťte tabulku pomocí metody DocumentBuilder.starttable() a získejte odkaz na tabulku v objektu.
- Vložte buňku pomocí metody DocumentBuilder.insertcell() a získejte odkaz na buňku v objektu.
- Vložte text do buňky pomocí metody DocumentBuilder.write().
- Podle potřeby opakujte vkládání buněk a textu do buněk.
- Ukončete tabulku, když vložíte všechny řádky.
- Přesuňte ovládací prvek do požadované buňky pomocí metody DocumentBuilder.moveto(Cell.firstparagraph).
- Vytvořte další tabulku vložením buněk a po dokončení tabulku ukončete.
- Uložte dokument aplikace Word pomocí metody Document.save().
Následující ukázka kódu ukazuje, jak vytvořit vnořenou tabulku v dokumentu DOCX pomocí Python.
import aspose.words as aw
# Vytvořte nový dokument aplikace Word.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
# Vložit buňku.
cell = builder.insert_cell()
builder.writeln("Outer Table Cell 1")
builder.insert_cell()
builder.writeln("Outer Table Cell 2")
# Toto volání je důležité pro vytvoření vnořené tabulky v první tabulce.
# Bez tohoto volání budou buňky vložené níže připojeny k vnější tabulce.
builder.end_table()
# Přesuňte se do první buňky vnější tabulky.
builder.move_to(cell.first_paragraph)
# Sestavte vnitřní stůl.
builder.insert_cell()
builder.writeln("Inner Table Cell 1")
builder.insert_cell()
builder.writeln("Inner Table Cell 2")
builder.end_table()
# Uložte dokument.
doc.save("table_nested.docx")
Následuje výstup ukázky kódu výše.
Klonujte existující tabulku v dokumentu aplikace Word v Python
Můžete také naklonovat existující tabulku v dokumentu aplikace Word. Následují kroky k provedení této operace.
- Načtěte dokument pomocí třídy Document.
- Získejte odkaz na tabulku v objektu pomocí metody Document.getchild(NodeType.TABLE, int, boolean).atable().
- Zavolejte metodu clone(True).atable() pomocí objektu tabulky a získejte odkaz na klonovanou tabulku v jiném objektu.
- Vložte klonovanou tabulku pomocí metody Table.parentnode.insertafter().
- Vložte prázdný odstavec mezi tabulky pomocí metody Table.parentnode.insertafter(Paragraph(Document), Table).
- Uložte dokument aplikace Word pomocí metody Document.save().
Následující ukázka kódu ukazuje, jak klonovat tabulku v dokumentu Word DOCX pomocí Python.
import aspose.words as aw
# Načtěte dokument aplikace Word.
doc = aw.Document("table_formatted.docx")
# Získejte odkaz na požadovanou tabulku.
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table()
# Naklonujte tabulku a vložte ji do dokumentu za původní tabulku.
tableClone = table.clone(True).as_table()
table.parent_node.insert_after(tableClone, table)
# Vložte prázdný odstavec mezi dvě tabulky,
# jinak budou při uložení spojeny do jednoho.
table.parent_node.insert_after(aw.Paragraph(doc), table)
# Uložte dokument.
doc.save("table_clone.docx")
Následující snímek obrazovky ukazuje klonovanou tabulku v dokumentu aplikace Word.
Získejte bezplatnou licenci API
Můžete získat dočasnou licenci k používání Aspose.Words for Python bez omezení hodnocení.
Závěr
V tomto článku jste se naučili vytvářet tabulky v dokumentech Word pomocí Python. Navíc jste viděli, jak dynamicky vytvářet vnořené tabulky nebo klonovat existující tabulky v dokumentech aplikace Word. Kromě toho můžete navštívit dokumentaci Aspose.Words for Python a prozkoumat další funkce. V případě jakýchkoliv dotazů nás neváhejte kontaktovat prostřednictvím našeho fóra.
Viz také
- Vytvářejte dokumenty MS Word pomocí Python
- Převeďte dokument Word do HTML pomocí Python
- Převeďte dokumenty Word do PNG, JPEG nebo BMP v Python
- Dokumenty Word do Markdown pomocí Python
- Porovnejte dva dokumenty Word v Python
Informace: Pokud někdy potřebujete získat dokument aplikace Word z prezentace v PowerPointu, můžete použít převodník Aspose Presentation to Word Document.