Skapa och manipulera tabeller i PowerPoint Python

Tabeller används vanligtvis för att organisera data i form av rader och kolumner. De gör det mycket lättare att se, förstå och analysera data. I olika fall måste du infoga tabeller i dina PowerPoint-presentationer. För att uppnå det programmatiskt, täcker den här artikeln hur man skapar tabeller i PowerPoint PPT eller PPTX med Python. Dessutom kommer du att lära dig hur du kommer åt, ändrar och formaterar befintliga PowerPoint-tabeller.

Python-bibliotek för att skapa och manipulera PowerPoint-tabeller

Aspose.Slides for Python tillhandahåller ett gäng funktioner för att skapa, manipulera och konvertera PowerPoint- och OpenOffice-dokument. Vi kommer att använda det här biblioteket för att skapa, redigera och manipulera tabeller i våra PowerPoint-presentationer. Du kan installera biblioteket från PyPI med följande kommando.

> pip install aspose.slides

Skapa en tabell i PowerPoint PPT med Python

Följande är stegen för att skapa en tabell i en PowerPoint PPT/PPTX i Python.

  • Använd först Presentation class för att ladda eller skapa en PPT/PPTX-presentation.
  • Få sedan referens till önskad bild där du vill lägga till tabellen.
  • Efter det skapar du två arrayer för att definiera bredden och höjden på kolumner respektive rader.
  • Infoga en ny tabell på bilden med metoden ISlide.shapes.addtable() och hämta dess referens.
  • Starta en slinga för att iterera genom tabellens rader.
  • Starta en kapslad loop för att iterera genom cellerna i tabellen och utför följande operationer i varje iteration.
    • Ställ in text i cellen med egenskapen Table.rows[row][cell].textframe.text.
    • Ställ in cellens kantstil om det behövs.
  • Slutligen sparar du presentationen med metoden Presentation.save(string, SaveFormat).

Följande kodexempel visar hur man skapar en tabell i en PowerPoint-presentation.

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

# Skapa en ny presentation (för att ladda en befintlig presentation, ange filens sökväg i konstruktorn)
with slides.Presentation() as pres:
    # Få tillgång till första bilden
    sld = pres.slides[0]

    # Definiera kolumner med bredder och rader med höjder
    dblCols =  [50, 50, 50] 
    dblRows =  [50, 30, 30, 30, 30] 

    # Lägg till bordsform för att glida
    tbl = sld.shapes.add_table(100, 50, dblCols, dblRows)

    # Ställ in ramformat för varje cell
   for row in range(len(tbl.rows)):
       for cell in range(len(tbl.rows[row])):
            
            # Lägg till text
            tbl.rows[row][cell].text_frame.text = "Cell_" + cell

            # Ställ in gränsen
            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
        
    # Slå samman cell 1 och 2 på rad 1
    tbl.merge_cells(tbl.rows[0][0], tbl.rows[1][1], False)

    # Lägg till text to the merged cell
    tbl.rows[0][0].text_frame.text = "Merged Cells"

    # Spara PPTX till disk
    pres.save("table.pptx", slides.export.SaveFormat.PPTX)

Följande skärmdump visar tabellen som vi har skapat med ovanstående kod.

Skapa en tabell i PowerPoint PPT med Python

Redigera en tabell i en PowerPoint PPT med Python

Du kan också ändra en befintlig tabell genom att öppna den från presentationsbilden. Så här kan du komma åt en PowerPoint-tabell och redigera dess innehåll eller utseende i Python.

  • Ladda först en befintlig PowerPoint PPT/PPTX-fil med presentationsklassen.
  • Få sedan referens till den önskade bilden till ett objekt.
  • Skapa ett objekt för tabell och initiera det med None.
  • Iterera genom alla former i bilden med ISlide.shapes-samlingen.
  • Filtrera formerna av typen Tabell.
  • Manipulera tabellen efter behov.
  • Slutligen sparar du presentationen med metoden Presentation.save(string, SaveFormat).

Följande kodexempel visar hur man redigerar tabeller i en PowerPoint PPT med Python.

# Ladda presentationen
with slides.Presentation("table.pptx") as pres:
    # Gå till den första bilden
    sld = pres.slides[0]

    # Initiera null TableEx
    tbl = None

    # Iterera genom formerna och ställ in en referens till tabellen som hittats
   for shp in sld.shapes:
        if type(shp) is slides.Table:
            tbl = shp

    # Ställ in texten i den första kolumnen på andra raden
    tbl.rows[0][1].text_frame.text = "New"

    # Spara PPTX till disk
    pres.save("table1_out.pptx", slides.export.SaveFormat.PPTX)

Formatera text i PowerPoint-tabeller i Python

Aspose.Slides för Python låter dig också tillämpa formateringen på texten i tabeller. Följande steg visar hur du kan uppnå detta.

  • Ladda först en befintlig presentation med presentationsklassen.
  • Få sedan referens till den önskade bilden till ett objekt.
  • Få referensen till önskat bord från glida in i ett objekt.
  • Ställ in formatering med hjälp av PortionFormat-, ParagraphFormat- och TextFrameFormat-objekt.
  • Tilldela formatering till tabellen med Table.settextformat()-metoden.
  • Slutligen sparar du presentationen med metoden Presentation.save(string, SaveFormat).

Följande kodexempel visar hur du ställer in formateringen av texten i en tabell i PowerPoint med Python.

import aspose.slides as slides

# Skapa en presentation
with slides.Presentation() as presentation:

    # Lägg till tabell
    someTable = presentation.slides[0].shapes.add_table(100, 100, [100, 50, 30], [30, 50, 30])

    # Ställ in tabellcellers teckensnittshöjd
    portionFormat = slides.PortionFormat()
    portionFormat.font_height = 25
    someTable.set_text_format(portionFormat)

    # Ställ in tabellcellers textjustering och högermarginal i ett anrop
    paragraphFormat = slides.ParagraphFormat()
    paragraphFormat.alignment = slides.TextAlignment.RIGHT
    paragraphFormat.margin_right = 20
    someTable.set_text_format(paragraphFormat)

    # Ställ in tabellcellers vertikala texttyp
    textFrameFormat = slides.TextFrameFormat()
    textFrameFormat.text_vertical_type = slides.TextVerticalType.VERTICAL
    someTable.set_text_format(textFrameFormat)

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

Lås bildförhållande för PowerPoint-tabeller i Python

Du kan också låsa bildförhållandet för tabellerna i PowerPoint-presentationer med Python, som visas i följande steg.

  • Ladda först en befintlig presentation med presentationsklassen.
  • Få sedan referens till den önskade bilden till ett objekt.
  • Skapa en tabell eller hämta referensen för en befintlig tabell till ett objekt.
  • Lås bildförhållande med egenskapen Table.shapelock.aspectratiolocked.
  • Slutligen sparar du presentationen med metoden Presentation.save(string, SaveFormat).

Följande kodexempel visar hur du låser tabellens bildförhållande i PowerPoint PPTX.

import aspose.slides as slides

# Skapa presentation
with slides.Presentation() as pres:
    # Lägg till tabell
    table = pres.slides[0].shapes.add_table(100, 100, [100, 50, 30], [30, 50, 30])
    print("Lås bildförhållande set: {0}".format(table.shape_lock.aspect_ratio_locked))
    
    # Lås bildförhållande
    table.shape_lock.aspect_ratio_locked = not table.shape_lock.aspect_ratio_locked
    print("Lås bildförhållande set: {0}".format(table.shape_lock.aspect_ratio_locked))

    # Spara presentationen
    pres.save("pres-out.pptx", slides.export.SaveFormat.PPTX)

Python-bibliotek för att skapa PowerPoint-tabeller - Skaffa en gratis licens

Du kan använda Aspose.Slides för Python utan utvärderingsbegränsningar genom att få en gratis tillfällig licens.

Slutsats

Tabeller är en integrerad del av dokumenten, som används för att organisera data. I den här artikeln har du lärt dig hur du skapar tabeller i en PowerPoint PPT och PPTX i Python. Dessutom har du sett hur du kommer åt och manipulerar befintliga tabeller i PowerPoint-presentationer programmatiskt. Dessutom kan du också besöka dokumentationen för att utforska mer om Aspose.Slides för Python. Du kan också ställa dina frågor via vårt forum.

Se även

Info: Med Aspose JPG till PPT eller PNG till PPT omvandlare kan du skapa PowerPoint-presentationer från enkla bilder.