vytvářet tabulky ve wordových dokumentech pomocí pythonu

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

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é

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.