Crea e manipola tabelle in PowerPoint Python

Le tabelle sono comunemente usate per organizzare i dati sotto forma di righe e colonne. Semplificano la visualizzazione, la comprensione e l’analisi dei dati. In vari casi, devi inserire delle tabelle nelle tue presentazioni PowerPoint. Per farlo a livello di codice, questo articolo illustra come creare tabelle in PowerPoint PPT o PPTX usando Python. Inoltre, imparerai come accedere, modificare e formattare le tabelle PowerPoint esistenti.

Libreria Python per creare e manipolare tabelle PowerPoint

Aspose.Slides for Python fornisce una serie di funzionalità per creare, manipolare e convertire documenti PowerPoint e OpenOffice. Utilizzeremo questa libreria per creare, modificare e manipolare tabelle nelle nostre presentazioni PowerPoint. È possibile installare la libreria da PyPI utilizzando il comando seguente.

> pip install aspose.slides

Crea una tabella in PowerPoint PPT usando Python

Di seguito sono riportati i passaggi per creare una tabella in un PowerPoint PPT/PPTX in Python.

  • Innanzitutto, usa la classe Presentation per caricare o creare una presentazione PPT/PPTX.
  • Quindi, ottieni il riferimento della diapositiva desiderata in cui desideri aggiungere la tabella.
  • Successivamente, crea due array per definire rispettivamente la larghezza e l’altezza di colonne e righe.
  • Inserisci una nuova tabella sulla diapositiva usando il metodo ISlide.shapes.addtable() e ottieni il suo riferimento.
  • Avvia un ciclo per scorrere le righe della tabella.
  • Avvia un ciclo nidificato per scorrere le celle della tabella ed eseguire le seguenti operazioni in ogni iterazione.
    • Imposta il testo della cella usando la proprietà Table.rows[row][cell].textframe.text.
    • Imposta lo stile del bordo della cella, se necessario.
  • Infine, salva la presentazione usando il metodo Presentation.save(string, SaveFormat).

Nell’esempio di codice seguente viene illustrato come creare una tabella in una presentazione di PowerPoint.

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

# Create a new presentation (to load an existing presentation, provide file's path in constructor)
with slides.Presentation() as pres:
    # Access first slide
    sld = pres.slides[0]

    # Define columns with widths and rows with heights
    dblCols =  [50, 50, 50] 
    dblRows =  [50, 30, 30, 30, 30] 

    # Add table shape to slide
    tbl = sld.shapes.add_table(100, 50, dblCols, dblRows)

    # Set border format for each cell
    for row in range(len(tbl.rows)):
        for cell in range(len(tbl.rows[row])):
            
            # Add text
            tbl.rows[row][cell].text_frame.text = "Cell_" + cell

            # Set border
            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
        
    # Merge cells 1 & 2 of row 1
    tbl.merge_cells(tbl.rows[0][0], tbl.rows[1][1], False)

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

    # Save PPTX to Disk
    pres.save("table.pptx", slides.export.SaveFormat.PPTX)

Lo screenshot seguente mostra la tabella che abbiamo creato utilizzando il codice sopra.

Crea una tabella in PowerPoint PPT usando Python

Modifica una tabella in un PPT di PowerPoint usando Python

Puoi anche modificare una tabella esistente accedendovi dalla diapositiva della presentazione. Ecco come puoi accedere a una tabella PowerPoint e modificarne il contenuto o l’aspetto in Python.

  • Innanzitutto, carica un file PowerPoint PPT/PPTX esistente utilizzando la classe Presentation.
  • Quindi, ottieni il riferimento della diapositiva desiderata in un oggetto.
  • Crea un oggetto per la tabella e inizializzalo con Nessuno.
  • Scorri tutte le forme nella diapositiva utilizzando la raccolta ISlide.shapes.
  • Filtra le forme di tipo Tabella.
  • Manipolare la tabella come richiesto.
  • Infine, salva la presentazione usando il metodo Presentation.save(string, SaveFormat).

L’esempio di codice seguente mostra come modificare le tabelle in un PPT di PowerPoint usando Python.

# Load presentation
with slides.Presentation("table.pptx") as pres:
    # Access the first slide
    sld = pres.slides[0]

    # Initialize null TableEx
    tbl = None

    # Iterate through the shapes and set a reference to the table found
    for shp in sld.shapes:
        if type(shp) is slides.Table:
            tbl = shp

    # Set the text of the first column of second row
    tbl.rows[0][1].text_frame.text = "New"

    # Save the PPTX to Disk
    pres.save("table1_out.pptx", slides.export.SaveFormat.PPTX)

Formatta il testo nelle tabelle di PowerPoint usando Python

Aspose.Slides per Python consente anche di applicare la formattazione al testo all’interno delle tabelle. I passaggi seguenti mostrano come puoi raggiungere questo obiettivo.

  • Innanzitutto, carica una presentazione esistente utilizzando la classe Presentation.
  • Quindi, ottieni il riferimento della diapositiva desiderata in un oggetto.
  • Ottieni il riferimento della tabella desiderata dalla diapositiva in un oggetto.
  • Imposta la formattazione usando gli oggetti PortionFormat, ParagraphFormat e TextFrameFormat.
  • Assegna la formattazione alla tabella utilizzando il metodo Table.settextformat().
  • Infine, salva la presentazione usando il metodo Presentation.save(string, SaveFormat).

L’esempio di codice seguente mostra come impostare la formattazione del testo all’interno di una tabella in PowerPoint usando Python.

import aspose.slides as slides

# Create a presentation
with slides.Presentation() as presentation:

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

    # Set table cells' font height
    portionFormat = slides.PortionFormat()
    portionFormat.font_height = 25
    someTable.set_text_format(portionFormat)

    # Set table cells' text alignment and right margin in one call
    paragraphFormat = slides.ParagraphFormat()
    paragraphFormat.alignment = slides.TextAlignment.RIGHT
    paragraphFormat.margin_right = 20
    someTable.set_text_format(paragraphFormat)

    # Set table cells' text vertical type
    textFrameFormat = slides.TextFrameFormat()
    textFrameFormat.text_vertical_type = slides.TextVerticalType.VERTICAL
    someTable.set_text_format(textFrameFormat)

    # Save presentation
    presentation.save("table-formatting.pptx", slides.export.SaveFormat.PPTX)

Blocca le proporzioni delle tabelle di PowerPoint in Python

Puoi anche bloccare le proporzioni delle tabelle nelle presentazioni PowerPoint usando Python, come illustrato nei passaggi seguenti.

  • Innanzitutto, carica una presentazione esistente utilizzando la classe Presentation.
  • Quindi, ottieni il riferimento della diapositiva desiderata in un oggetto.
  • Crea una tabella o recupera il riferimento di una tabella esistente in un oggetto.
  • Blocca le proporzioni usando la proprietà Table.shapelock.aspectratiolocked.
  • Infine, salva la presentazione usando il metodo Presentation.save(string, SaveFormat).

Nell’esempio di codice seguente viene illustrato come bloccare le proporzioni della tabella in PowerPoint PPTX.

import aspose.slides as slides

# Create presentation
with slides.Presentation() as pres:
    # Add table
    table = pres.slides[0].shapes.add_table(100, 100, [100, 50, 30], [30, 50, 30])
    print("Lock aspect ratio set: {0}".format(table.shape_lock.aspect_ratio_locked))
    
    # Lock aspect ratio
    table.shape_lock.aspect_ratio_locked = not table.shape_lock.aspect_ratio_locked
    print("Lock aspect ratio set: {0}".format(table.shape_lock.aspect_ratio_locked))

    # Save presentation
    pres.save("pres-out.pptx", slides.export.SaveFormat.PPTX)

Ottieni una licenza gratuita

Puoi utilizzare Aspose.Slides per Python senza limitazioni di valutazione ottenendo una licenza temporanea.

Conclusione

Le tabelle sono parte integrante dei documenti, che servono per organizzare i dati. In questo articolo, hai imparato come creare tabelle in un PowerPoint PPT/PPTX in Python. Inoltre, hai visto come accedere e manipolare le tabelle esistenti nelle presentazioni PowerPoint a livello di codice. Inoltre, puoi anche visitare la documentazione per esplorare di più su Aspose.Slides per Python. Inoltre, puoi porre le tue domande tramite il nostro forum.

Guarda anche

Informazioni: utilizzando il convertitore Aspose JPG in PPT o PNG in PPT, puoi generare presentazioni PowerPoint da semplici immagini.