Criar e manipular tabelas no PowerPoint Python

As tabelas são comumente usadas para organizar os dados na forma de linhas e colunas. Eles tornam muito mais fácil visualizar, entender e analisar os dados. Em vários casos, você precisa inserir tabelas em suas apresentações do PowerPoint. Para fazer isso programaticamente, este artigo aborda como criar tabelas no PowerPoint PPT ou PPTX usando Python. Além disso, você aprenderá como acessar, modificar e formatar as tabelas existentes do PowerPoint.

Biblioteca Python para criar e manipular tabelas do PowerPoint

Aspose.Slides for Python fornece vários recursos para criar, manipular e converter documentos do PowerPoint e OpenOffice. Usaremos esta biblioteca para criar, editar e manipular tabelas em nossas apresentações em PowerPoint. Você pode instalar a biblioteca de PyPI usando o seguinte comando.

> pip install aspose.slides

Criar uma tabela no PowerPoint PPT usando Python

A seguir estão as etapas para criar uma tabela em um PowerPoint PPT/PPTX em Python.

  • Primeiro, use a classe Presentation para carregar ou criar uma apresentação PPT/PPTX.
  • Em seguida, obtenha a referência do slide desejado onde deseja adicionar a tabela.
  • Depois disso, crie dois arrays para definir a largura e a altura das colunas e linhas, respectivamente.
  • Insira uma nova tabela no slide usando o método ISlide.shapes.addtable() e obtenha sua referência.
  • Inicie um loop para percorrer as linhas da tabela.
  • Inicie um loop aninhado para percorrer as células da tabela e execute as seguintes operações em cada iteração.
    • Defina o texto da célula usando a propriedade Table.rows[row][cell].textframe.text.
    • Defina o estilo de borda da célula, se necessário.
  • Finalmente, salve a apresentação usando o método Presentation.save(string, SaveFormat).

O exemplo de código a seguir mostra como criar uma tabela em uma apresentação do PowerPoint.

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

# Crie uma nova apresentação (para carregar uma apresentação existente, forneça o caminho do arquivo no construtor)
with slides.Presentation() as pres:
    # Acesse o primeiro slide
    sld = pres.slides[0]

    # Definir colunas com larguras e linhas com alturas
    dblCols =  [50, 50, 50] 
    dblRows =  [50, 30, 30, 30, 30] 

    # Adicionar forma de tabela ao slide
    tbl = sld.shapes.add_table(100, 50, dblCols, dblRows)

    # Definir o formato da borda para cada célula
    for row in range(len(tbl.rows)):
        for cell in range(len(tbl.rows[row])):
            
            # Adicione texto
            tbl.rows[row][cell].text_frame.text = "Cell_" + cell

            # Definir borda
            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
        
    # Mesclar as células 1 e 2 da linha 1
    tbl.merge_cells(tbl.rows[0][0], tbl.rows[1][1], False)

    # Adicione texto to the merged cell
    tbl.rows[0][0].text_frame.text = "Merged Cells"

    # Salvar PPTX em disco
    pres.save("table.pptx", slides.export.SaveFormat.PPTX)

A captura de tela a seguir mostra a tabela que criamos usando o código acima.

Criar uma tabela no PowerPoint PPT usando Python

Editar uma tabela em um PowerPoint PPT usando Python

Você também pode modificar uma tabela existente acessando-a no slide da apresentação. É assim que você pode acessar uma tabela do PowerPoint e editar seu conteúdo ou aparência em Python.

  • Primeiro, carregue um arquivo PowerPoint PPT/PPTX existente usando a classe Presentation.
  • Em seguida, obtenha a referência do slide desejado em um objeto.
  • Crie um objeto para tabela e inicialize-o com None.
  • Itere através de todas as formas no slide usando a coleção ISlide.shapes.
  • Filtre as formas do tipo Tabela.
  • Manipule a tabela conforme necessário.
  • Finalmente, salve a apresentação usando o método Presentation.save(string, SaveFormat).

O exemplo de código a seguir mostra como editar tabelas em um PowerPoint PPT usando Python.

# Carregar apresentação
with slides.Presentation("table.pptx") as pres:
    # Acesse o primeiro slide
    sld = pres.slides[0]

    # Inicializar nulo TableEx
    tbl = None

    # Iterar pelas formas e definir uma referência para a tabela encontrada
    for shp in sld.shapes:
        if type(shp) is slides.Table:
            tbl = shp

    # Defina o texto da primeira coluna da segunda linha
    tbl.rows[0][1].text_frame.text = "New"

    # Salve o PPTX em disco
    pres.save("table1_out.pptx", slides.export.SaveFormat.PPTX)

Formatar texto em tabelas do PowerPoint usando Python

O Aspose.Slides for Python também permite que você aplique a formatação ao texto dentro das tabelas. As etapas a seguir mostram como você pode conseguir isso.

  • Primeiro, carregue uma apresentação existente usando a classe Presentation.
  • Em seguida, obtenha a referência do slide desejado em um objeto.
  • Obtenha a referência da tabela desejada do slide em um objeto.
  • Defina a formatação usando objetos PortionFormat, ParagraphFormat e TextFrameFormat.
  • Atribua formatação à tabela usando o método Table.settextformat().
  • Finalmente, salve a apresentação usando o método Presentation.save(string, SaveFormat).

O exemplo de código a seguir mostra como definir a formatação do texto dentro de uma tabela no PowerPoint usando Python.

import aspose.slides as slides

# Criar uma apresentação
with slides.Presentation() as presentation:

    # Adicionar tabela
    someTable = presentation.slides[0].shapes.add_table(100, 100, [100, 50, 30], [30, 50, 30])

    # Definir a altura da fonte das células da tabela
    portionFormat = slides.PortionFormat()
    portionFormat.font_height = 25
    someTable.set_text_format(portionFormat)

    # Defina o alinhamento do texto das células da tabela e a margem direita em uma chamada
    paragraphFormat = slides.ParagraphFormat()
    paragraphFormat.alignment = slides.TextAlignment.RIGHT
    paragraphFormat.margin_right = 20
    someTable.set_text_format(paragraphFormat)

    # Definir o tipo vertical de texto das células da tabela
    textFrameFormat = slides.TextFrameFormat()
    textFrameFormat.text_vertical_type = slides.TextVerticalType.VERTICAL
    someTable.set_text_format(textFrameFormat)

    # Salvar apresentação
    presentation.save("table-formatting.pptx", slides.export.SaveFormat.PPTX)

Bloquear proporção de tabelas do PowerPoint em Python

Você também pode bloquear a proporção das tabelas em apresentações do PowerPoint usando Python, conforme demonstrado nas etapas a seguir.

  • Primeiro, carregue uma apresentação existente usando a classe Presentation.
  • Em seguida, obtenha a referência do slide desejado em um objeto.
  • Crie uma tabela ou recupere a referência de uma tabela existente em um objeto.
  • Bloqueie a proporção usando a propriedade Table.shapelock.aspectratiolocked.
  • Finalmente, salve a apresentação usando o método Presentation.save(string, SaveFormat).

O exemplo de código a seguir mostra como bloquear a proporção da tabela no PowerPoint PPTX.

import aspose.slides as slides

# Criar apresentação
with slides.Presentation() as pres:
    # Adicionar tabela
    table = pres.slides[0].shapes.add_table(100, 100, [100, 50, 30], [30, 50, 30])
    print("Bloquear proporção set: {0}".format(table.shape_lock.aspect_ratio_locked))
    
    # Bloquear proporção
    table.shape_lock.aspect_ratio_locked = not table.shape_lock.aspect_ratio_locked
    print("Bloquear proporção set: {0}".format(table.shape_lock.aspect_ratio_locked))

    # Salvar apresentação
    pres.save("pres-out.pptx", slides.export.SaveFormat.PPTX)

Obtenha uma licença gratuita

Você pode usar o Aspose.Slides for Python sem limitações de avaliação obtendo uma licença temporária gratuita.

Conclusão

As tabelas são parte integrante dos documentos, que são usadas para organizar os dados. Neste artigo, você aprendeu como criar tabelas em um PowerPoint PPT/PPTX em Python. Além disso, você viu como acessar e manipular tabelas existentes em apresentações do PowerPoint programaticamente. Além disso, você também pode visitar a documentação para explorar mais sobre o Aspose.Slides for Python. Além disso, você pode fazer suas perguntas através do nosso fórum.

Veja também

Informações: Usando o conversor Aspose JPG para PPT ou PNG para PPT, você pode gerar apresentações em PowerPoint a partir de imagens simples.