Créer et manipuler des tableaux dans PowerPoint Python

Les tableaux sont couramment utilisés pour organiser les données sous forme de lignes et de colonnes. Ils facilitent la visualisation, la compréhension et l’analyse des données. Dans divers cas, vous devez insérer des tableaux dans vos présentations PowerPoint. Pour y parvenir par programmation, cet article explique comment créer des tableaux dans PowerPoint PPT ou PPTX à l’aide de Python. De plus, vous apprendrez comment accéder, modifier et formater les tableaux PowerPoint existants.

Bibliothèque Python pour créer et manipuler des tableaux PowerPoint

Aspose.Slides for Python fournit un ensemble de fonctionnalités pour créer, manipuler et convertir des documents PowerPoint et OpenOffice. Nous utiliserons cette bibliothèque pour créer, éditer et manipuler des tableaux dans nos présentations PowerPoint. Vous pouvez installer la bibliothèque à partir de PyPI à l’aide de la commande suivante.

> pip install aspose.slides

Créer un tableau dans PowerPoint PPT en utilisant Python

Voici les étapes pour créer un tableau dans un PowerPoint PPT/PPTX en Python.

  • Tout d’abord, utilisez la classe Presentation pour charger ou créer une présentation PPT/PPTX.
  • Ensuite, obtenez la référence de la diapositive souhaitée où vous souhaitez ajouter le tableau.
  • Après cela, créez deux tableaux pour définir respectivement la largeur et la hauteur des colonnes et des lignes.
  • Insérez un nouveau tableau sur la diapositive à l’aide de la méthode ISlide.shapes.addtable() et obtenez sa référence.
  • Démarrez une boucle pour parcourir les lignes du tableau.
  • Démarrez une boucle imbriquée pour parcourir les cellules du tableau et effectuez les opérations suivantes à chaque itération.
    • Définissez le texte de la cellule à l’aide de la propriété Table.rows[row][cell].textframe.text.
    • Définissez le style de bordure de la cellule, si nécessaire.
  • Enfin, enregistrez la présentation à l’aide de la méthode Presentation.save(string, SaveFormat).

L’exemple de code suivant montre comment créer un tableau dans une présentation 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)

La capture d’écran suivante montre le tableau que nous avons créé à l’aide du code ci-dessus.

Créer un tableau dans PowerPoint PPT en utilisant Python

Modifier un tableau dans un PPT PowerPoint à l’aide de Python

Vous pouvez également modifier un tableau existant en y accédant depuis la diapositive de présentation. C’est ainsi que vous pouvez accéder à un tableau PowerPoint et modifier son contenu ou son apparence en Python.

  • Tout d’abord, chargez un fichier PowerPoint PPT/PPTX existant à l’aide de la classe Presentation.
  • Ensuite, obtenez la référence de la diapositive souhaitée dans un objet.
  • Créez un objet pour la table et initialisez-le avec None.
  • Parcourez toutes les formes de la diapositive à l’aide de la collection ISlide.shapes.
  • Filtrez les formes de type Tableau.
  • Manipulez le tableau selon vos besoins.
  • Enfin, enregistrez la présentation à l’aide de la méthode Presentation.save(string, SaveFormat).

L’exemple de code suivant montre comment modifier des tableaux dans un PPT PowerPoint à l’aide de 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)

Mettre en forme le texte dans les tableaux PowerPoint à l’aide de Python

Aspose.Slides for Python vous permet également d’appliquer la mise en forme au texte à l’intérieur des tableaux. Les étapes suivantes montrent comment vous pouvez y parvenir.

  • Tout d’abord, chargez une présentation existante à l’aide de la classe Presentation.
  • Ensuite, obtenez la référence de la diapositive souhaitée dans un objet.
  • Obtenez la référence de la table souhaitée à partir de la diapositive dans un objet.
  • Définissez la mise en forme à l’aide des objets PortionFormat, ParagraphFormat et TextFrameFormat.
  • Attribuez une mise en forme au tableau à l’aide de la méthode Table.settextformat().
  • Enfin, enregistrez la présentation à l’aide de la méthode Presentation.save(string, SaveFormat).

L’exemple de code suivant montre comment définir la mise en forme du texte dans un tableau dans PowerPoint à l’aide de 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)

Verrouiller le rapport d’aspect des tableaux PowerPoint en Python

Vous pouvez également verrouiller les proportions des tableaux dans les présentations PowerPoint à l’aide de Python, comme illustré dans les étapes suivantes.

  • Tout d’abord, chargez une présentation existante à l’aide de la classe Presentation.
  • Ensuite, obtenez la référence de la diapositive souhaitée dans un objet.
  • Créez une table ou récupérez la référence d’une table existante dans un objet.
  • Verrouillez les proportions à l’aide de la propriété Table.shapelock.aspectratiolocked.
  • Enfin, enregistrez la présentation à l’aide de la méthode Presentation.save(string, SaveFormat).

L’exemple de code suivant montre comment verrouiller les proportions du tableau dans 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)

Obtenez une licence gratuite

Vous pouvez utiliser Aspose.Slides for Python sans limitation d’évaluation en obtenant une licence temporaire gratuite.

Conclusion

Les tableaux font partie intégrante des documents et servent à organiser les données. Dans cet article, vous avez appris à créer des tableaux dans un PowerPoint PPT/PPTX en Python. De plus, vous avez vu comment accéder et manipuler par programmation des tableaux existants dans des présentations PowerPoint. En outre, vous pouvez également visiter la documentation pour en savoir plus sur Aspose.Slides for Python. Vous pouvez également poser vos questions via notre forum.

Voir également

Info : En utilisant le convertisseur Aspose JPG vers PPT ou PNG vers PPT, vous pouvez générer des présentations PowerPoint à partir d’images simples.