Vytvářejte a manipulujte s tabulkami v PowerPointu Python

Tabulky se běžně používají k uspořádání dat ve formě řádků a sloupců. Usnadňují prohlížení, pochopení a analýzu dat. V různých případech musíte do prezentací PowerPoint vložit tabulky. Chcete-li toho dosáhnout programově, tento článek popisuje, jak vytvořit tabulky v PowerPointu PPT nebo PPTX pomocí Pythonu. Kromě toho se naučíte přistupovat, upravovat a formátovat existující tabulky PowerPoint.

Knihovna Pythonu pro vytváření a manipulaci s PowerPoint tabulkami

Aspose.Slides pro Python poskytuje spoustu funkcí pro vytváření, manipulaci a převod dokumentů PowerPoint a OpenOffice. Tuto knihovnu budeme používat k vytváření, úpravám a manipulaci s tabulkami v našich prezentacích PowerPoint. Knihovnu můžete nainstalovat z PyPI pomocí následujícího příkazu.

> pip install aspose.slides

Vytvořte tabulku v PowerPoint PPT pomocí Pythonu

Následují kroky k vytvoření tabulky v PowerPointu PPT/PPTX v Pythonu.

  • Nejprve použijte třídu Presentation k načtení nebo vytvoření prezentace PPT/PPTX.
  • Poté získejte odkaz na požadovaný snímek, kam chcete přidat tabulku.
  • Poté vytvořte dvě pole k definování šířky a výšky sloupců a řádků.
  • Vložte novou tabulku na snímek pomocí metody ISlide.shapes.addtable() a získejte její referenci.
  • Spusťte smyčku pro iteraci řádků tabulky.
  • Spusťte vnořenou smyčku pro iteraci buněk tabulky a proveďte následující operace v každé iteraci.
    • Nastavte text buňky pomocí vlastnosti Table.rows[row][cell].textframe.text.
    • V případě potřeby nastavte styl ohraničení buňky.
  • Nakonec prezentaci uložte pomocí metody Presentation.save(string, SaveFormat).

Následující ukázka kódu ukazuje, jak vytvořit tabulku v prezentaci aplikace PowerPoint.

import aspose.slides as slides
import aspose.pydrawing as drawing

# Vytvořte novou prezentaci (pro načtení existující prezentace zadejte cestu k souboru v konstruktoru)
with slides.Presentation() as pres:
    # Přístup k prvnímu snímku
    sld = pres.slides[0]

    # Definujte sloupce s šířkami a řádky s výškou
    dblCols =  [50, 50, 50] 
    dblRows =  [50, 30, 30, 30, 30] 

    # Přidejte na snímek tvar tabulky
    tbl = sld.shapes.add_table(100, 50, dblCols, dblRows)

    # Nastavte formát ohraničení pro každou buňku
   for row in range(len(tbl.rows)):
       for cell in range(len(tbl.rows[row])):
            
            # Přidej text
            tbl.rows[row][cell].text_frame.text = "Cell_" + cell

            # Nastavit ohraničení
            tbl.rows[row][cell].cell_format.border_top.fill_format.fill_type = slides.FillType.SOLID
            tbl.rows[row][cell].cell_format.border_top.fill_format.solid_fill_color.color = drawing.Color.red
            tbl.rows[row][cell].cell_format.border_top.width = 5

            tbl.rows[row][cell].cell_format.border_bottom.fill_format.fill_type = slides.FillType.SOLID
            tbl.rows[row][cell].cell_format.border_bottom.fill_format.solid_fill_color.color= drawing.Color.red
            tbl.rows[row][cell].cell_format.border_bottom.width =5

            tbl.rows[row][cell].cell_format.border_left.fill_format.fill_type = slides.FillType.SOLID
            tbl.rows[row][cell].cell_format.border_left.fill_format.solid_fill_color.color =drawing.Color.red
            tbl.rows[row][cell].cell_format.border_left.width = 5

            tbl.rows[row][cell].cell_format.border_right.fill_format.fill_type = slides.FillType.SOLID
            tbl.rows[row][cell].cell_format.border_right.fill_format.solid_fill_color.color = drawing.Color.red
            tbl.rows[row][cell].cell_format.border_right.width = 5
        
    # Sloučit buňky 1 a 2 z řádku 1
    tbl.merge_cells(tbl.rows[0][0], tbl.rows[1][1], False)

    # Přidej text to the merged cell
    tbl.rows[0][0].text_frame.text = "Merged Cells"

    # Uložte PPTX na disk
    pres.save("table.pptx", slides.export.SaveFormat.PPTX)

Následující snímek obrazovky ukazuje tabulku, kterou jsme vytvořili pomocí výše uvedeného kódu.

Vytvořte tabulku v PowerPoint PPT pomocí Pythonu

Upravte tabulku v PowerPoint PPT pomocí Pythonu

Můžete také upravit existující tabulku tak, že k ní přistoupíte ze snímku prezentace. Takto můžete přistupovat k tabulce PowerPoint a upravovat její obsah nebo vzhled v Pythonu.

  • Nejprve načtěte existující soubor PowerPoint PPT/PPTX pomocí třídy Presentation.
  • Poté získejte odkaz na požadovaný snímek do objektu.
  • Vytvořte objekt pro tabulku a inicializujte jej pomocí None.
  • Procházejte všechny tvary na snímku pomocí kolekce ISlide.shapes.
  • Filtrujte tvary typu Tabulka.
  • Manipulujte se stolem podle potřeby.
  • Nakonec prezentaci uložte pomocí metody Presentation.save(string, SaveFormat).

Následující ukázka kódu ukazuje, jak upravit tabulky v PowerPoint PPT pomocí Pythonu.

# Načíst prezentaci
with slides.Presentation("table.pptx") as pres:
    # Otevřete první snímek
    sld = pres.slides[0]

    # Inicializujte null TableEx
    tbl = None

    # Procházejte tvary a nastavte odkaz na nalezenou tabulku
   for shp in sld.shapes:
        if type(shp) is slides.Table:
            tbl = shp

    # Nastavte text prvního sloupce druhého řádku
    tbl.rows[0][1].text_frame.text = "New"

    # Uložte PPTX na disk
    pres.save("table1_out.pptx", slides.export.SaveFormat.PPTX)

Formátování textu v tabulkách PowerPoint v Pythonu

Aspose.Slides pro Python také umožňuje použít formátování na text v tabulkách. Následující kroky ukazují, jak toho můžete dosáhnout.

  • Nejprve načtěte existující prezentaci pomocí třídy Presentation.
  • Poté získejte odkaz na požadovaný snímek do objektu.
  • Získejte odkaz na požadovanou tabulku ze snímku do objektu.
  • Nastavte formátování pomocí objektů PortionFormat, SectionFormat a TextFrameFormat.
  • Přiřaďte formátování tabulce pomocí metody Table.settextformat().
  • Nakonec prezentaci uložte pomocí metody Presentation.save(string, SaveFormat).

Následující ukázka kódu ukazuje, jak nastavit formátování textu uvnitř tabulky v PowerPointu pomocí Pythonu.

import aspose.slides as slides

# Vytvořte prezentaci
with slides.Presentation() as presentation:

    # Přidat tabulku
    someTable = presentation.slides[0].shapes.add_table(100, 100, [100, 50, 30], [30, 50, 30])

    # Nastavte výšku písma buněk tabulky
    portionFormat = slides.PortionFormat()
    portionFormat.font_height = 25
    someTable.set_text_format(portionFormat)

    # Nastavte zarovnání textu buněk tabulky a pravý okraj v jednom volání
    paragraphFormat = slides.ParagraphFormat()
    paragraphFormat.alignment = slides.TextAlignment.RIGHT
    paragraphFormat.margin_right = 20
    someTable.set_text_format(paragraphFormat)

    # Nastavit vertikální typ textu buněk tabulky
    textFrameFormat = slides.TextFrameFormat()
    textFrameFormat.text_vertical_type = slides.TextVerticalType.VERTICAL
    someTable.set_text_format(textFrameFormat)

    # Uložit prezentaci
    presentation.save("table-formatting.pptx", slides.export.SaveFormat.PPTX)

Uzamknout poměr stran PowerPointových tabulek v Pythonu

Můžete také uzamknout poměr stran tabulek v prezentacích PowerPoint pomocí Pythonu, jak je ukázáno v následujících krocích.

  • Nejprve načtěte existující prezentaci pomocí třídy Presentation.
  • Poté získejte odkaz na požadovaný snímek do objektu.
  • Vytvořte tabulku nebo načtěte odkaz na existující tabulku do objektu.
  • Zamkněte poměr stran pomocí vlastnosti Table.shapelock.aspectratiolocked.
  • Nakonec prezentaci uložte pomocí metody Presentation.save(string, SaveFormat).

Následující ukázka kódu ukazuje, jak uzamknout poměr stran tabulky v PowerPoint PPTX.

import aspose.slides as slides

# Vytvořte prezentaci
with slides.Presentation() as pres:
    # Přidat tabulku
    table = pres.slides[0].shapes.add_table(100, 100, [100, 50, 30], [30, 50, 30])
    print("Uzamknout poměr stran set: {0}".format(table.shape_lock.aspect_ratio_locked))
    
    # Uzamknout poměr stran
    table.shape_lock.aspect_ratio_locked = not table.shape_lock.aspect_ratio_locked
    print("Uzamknout poměr stran set: {0}".format(table.shape_lock.aspect_ratio_locked))

    # Uložit prezentaci
    pres.save("pres-out.pptx", slides.export.SaveFormat.PPTX)

Knihovna Pythonu pro vytváření PowerPointových tabulek – Získejte bezplatnou licenci

Aspose.Slides pro Python můžete používat bez omezení hodnocení získáním bezplatné dočasné licence.

Závěr

Tabulky jsou nedílnou součástí dokumentů, které slouží k uspořádání dat. V tomto článku jste se naučili, jak vytvářet tabulky v PowerPointu PPT a PPTX v Pythonu. Navíc jste viděli, jak programově přistupovat ke stávajícím tabulkám v prezentacích PowerPoint a jak s nimi manipulovat. Kromě toho můžete také navštívit dokumentaci a prozkoumat více o Aspose.Slides pro Python. Také můžete klást své dotazy prostřednictvím našeho fóra.

Viz také

Informace: Pomocí převodníku Aspose JPG na PPT nebo PNG na PPT můžete generovat prezentace v PowerPointu z jednoduchých obrázků.