PowerPoint Python에서 테이블 생성 및 조작

테이블은 일반적으로 행과 열의 형태로 데이터를 구성하는 데 사용됩니다. 데이터를 보다 쉽게 보고, 이해하고, 분석할 수 있습니다. 다양한 경우에 PowerPoint 프레젠테이션에 표를 삽입해야 합니다. 프로그래밍 방식으로 이를 수행하기 위해 이 기사에서는 Python을 사용하여 PowerPoint PPT 또는 PPTX에서 테이블을 만드는 방법을 다룹니다. 또한 기존 PowerPoint 표에 액세스하고 수정하고 서식을 지정하는 방법을 배우게 됩니다.

PowerPoint 테이블을 만들고 조작하는 Python 라이브러리

Aspose.Slides for Python은 PowerPoint 및 OpenOffice 문서를 생성, 조작 및 변환하는 많은 기능을 제공합니다. 이 라이브러리를 사용하여 PowerPoint 프레젠테이션에서 표를 만들고 편집하고 조작할 것입니다. 다음 명령을 사용하여 PyPI에서 라이브러리를 설치할 수 있습니다.

> pip install aspose.slides

Python을 사용하여 PowerPoint PPT에서 표 만들기

다음은 Python에서 PowerPoint PPT/PPTX에 테이블을 만드는 단계입니다.

  • 먼저 Presentation 클래스를 사용하여 PPT/PPTX 프레젠테이션을 로드하거나 만듭니다.
  • 그런 다음 테이블을 추가하려는 원하는 슬라이드의 참조를 가져옵니다.
  • 그런 다음 두 개의 배열을 만들어 열과 행의 너비와 높이를 각각 정의합니다.
  • ISlide.shapes.add\table() 메서드를 사용하여 슬라이드에 새 테이블을 삽입하고 참조를 가져옵니다.
  • 루프를 시작하여 테이블의 행을 반복합니다.
  • 중첩 루프를 시작하여 테이블의 셀을 반복하고 각 반복에서 다음 작업을 수행합니다.
    • Table.rows[row][cell].text\frame.text 속성을 사용하여 셀의 텍스트를 설정합니다.
    • 필요한 경우 셀의 테두리 스타일을 설정합니다.
  • 마지막으로 Presentation.save(string, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.

다음 코드 샘플은 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)

다음 스크린샷은 위의 코드를 사용하여 만든 테이블을 보여줍니다.

Python을 사용하여 PowerPoint PPT에서 표 만들기

Python을 사용하여 PowerPoint PPT에서 표 편집

프레젠테이션 슬라이드에서 액세스하여 기존 테이블을 수정할 수도 있습니다. 이것은 PowerPoint 테이블에 액세스하고 Python에서 해당 내용이나 모양을 편집하는 방법입니다.

  • 먼저 Presentation 클래스를 사용하여 기존 PowerPoint PPT/PPTX 파일을 로드합니다.
  • 그런 다음 원하는 슬라이드의 참조를 개체로 가져옵니다.
  • 테이블에 대한 개체를 만들고 None으로 초기화합니다.
  • ISlide.shapes 컬렉션을 사용하여 슬라이드의 모든 모양을 반복합니다.
  • 테이블 유형의 셰이프를 필터링합니다.
  • 필요에 따라 테이블을 조작하십시오.
  • 마지막으로 Presentation.save(string, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.

다음 코드 샘플은 Python을 사용하여 PowerPoint PPT에서 표를 편집하는 방법을 보여줍니다.

# 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)

Python을 사용하여 PowerPoint 테이블의 텍스트 서식 지정

Aspose.Slides for Python을 사용하면 테이블 안의 텍스트에 서식을 적용할 수도 있습니다. 다음 단계는 이를 달성하는 방법을 보여줍니다.

  • 먼저 Presentation 클래스를 사용하여 기존 프레젠테이션을 로드합니다.
  • 그런 다음 원하는 슬라이드의 참조를 개체로 가져옵니다.
  • 슬라이드에서 개체로 원하는 테이블의 참조를 가져옵니다.
  • PortionFormat, ParagraphFormat 및 TextFrameFormat 객체를 사용하여 서식을 설정합니다.
  • Table.set_text\format() 메서드를 사용하여 테이블에 서식을 지정합니다.
  • 마지막으로 Presentation.save(string, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.

다음 코드 샘플은 Python을 사용하여 PowerPoint에서 테이블 내부의 텍스트 서식을 설정하는 방법을 보여줍니다.

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)

Python에서 PowerPoint 테이블의 가로 세로 비율 잠금

다음 단계에서 설명하는 것처럼 Python을 사용하여 PowerPoint 프레젠테이션에서 표의 가로 세로 비율을 잠글 수도 있습니다.

  • 먼저 Presentation 클래스를 사용하여 기존 프레젠테이션을 로드합니다.
  • 그런 다음 원하는 슬라이드의 참조를 개체로 가져옵니다.
  • 테이블을 생성하거나 기존 테이블의 참조를 개체로 검색합니다.
  • Table.shape\lock.aspect\ratio\locked 속성을 사용하여 종횡비를 잠급니다.
  • 마지막으로 Presentation.save(string, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.

다음 코드 샘플은 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)

무료 라이선스 받기

무료 임시 라이선스를 얻으면 평가 제한 없이 Python용 Aspose.Slides를 사용할 수 있습니다.

결론

테이블은 데이터를 구성하는 데 사용되는 문서의 필수적인 부분입니다. 이 기사에서는 Python에서 PowerPoint PPT/PPTX로 표를 만드는 방법을 배웠습니다. 또한 프로그래밍 방식으로 PowerPoint 프레젠테이션의 기존 테이블에 액세스하고 조작하는 방법을 살펴보았습니다. 또한 문서를 방문하여 Python용 Aspose.Slides에 대해 자세히 알아볼 수도 있습니다. 또한 포럼을 통해 질문할 수 있습니다.

또한보십시오

정보: Aspose JPG to PPT 또는 PNG to PPT 변환기를 사용하여 간단한 이미지에서 PowerPoint 프레젠테이션을 생성할 수 있습니다.