1. 왜 이걸 해야 할까?
엑셀로 정리된 실적 데이터를 파워포인트에 매번 복사해서 붙이는 건 너무 번거롭죠?
이번에는 엑셀에서 부서별 데이터를 읽어서, 슬라이드마다 자동으로 부서명 + 표 요약을 삽입하는 자동화를 실습해 봅니다.
✅ 실무 보고서 완전 자동화 ✅ 부서 수에 따라 슬라이드 수 자동 생성 ✅ 팀장, 관리자, 기획팀 필수 자동화 스킬! ---
2. 설치할 패키지
pip install pandas openpyxl python-pptx
3. 실습 파일 구성
- 엑셀 파일: sample1.xlsx
- 주요 열: 부서, 이름, 매출액, 성과등급 등 - 슬라이드 구성: - 슬라이드 제목: "OO부 보고서" - 표 내용: 해당 부서의 데이터 전체 ---
4. 전체 코드
import pandas as pd
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.enum.shapes import MSO_SHAPE
from pptx.dml.color import RGBColor
from pathlib import Path
# 1. 경로 설정
excel_path = Path("C:/Users/YourName/Desktop/엑셀자동화/sample1.xlsx")
ppt_save_path = Path("C:/Users/YourName/Desktop/엑셀자동화/엑셀기반_자동보고서.pptx")
# 2. 엑셀 데이터 불러오기
df = pd.read_excel(excel_path)
# 3. 프레젠테이션 객체 생성
prs = Presentation()
title_slide_layout = prs.slide_layouts[5] # 제목만
blank_slide_layout = prs.slide_layouts[6] # 빈 슬라이드
# 4. 부서별로 슬라이드 생성
for dept in df['부서'].unique():
dept_df = df[df['부서'] == dept]
# 슬라이드 추가
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
title.text = f"{dept} 보고서"
# 표 슬라이드 추가
table_slide = prs.slides.add_slide(blank_slide_layout)
# 표 삽입
rows, cols = dept_df.shape
left = Inches(0.5)
top = Inches(1)
width = Inches(9)
height = Inches(0.8 + rows * 0.3)
table = table_slide.shapes.add_table(rows + 1, cols, left, top, width, height).table
# 열 제목 삽입
for i, col_name in enumerate(dept_df.columns):
cell = table.cell(0, i)
cell.text = col_name
cell.text_frame.paragraphs[0].font.bold = True
cell.fill.solid()
cell.fill.fore_color.rgb = RGBColor(230, 230, 250)
# 데이터 삽입
for r in range(rows):
for c in range(cols):
text = str(dept_df.iloc[r, c])
table.cell(r + 1, c).text = text
print(f"✅ {dept} 슬라이드 생성 완료")
# 5. 저장
prs.save(str(ppt_save_path))
print(f"📁 자동 파워포인트 저장 완료: {ppt_save_path.name}")
---
5. 실행 결과
- 부서 수만큼 슬라이드 생성
- 각 부서 보고 제목 슬라이드 + 데이터 표 슬라이드
- 엑셀기반_자동보고서.pptx
자동 저장
---
6. 실무 확장 팁
- 성과등급 A만 필터링하여 따로 슬라이드 구성 가능
- 슬라이드 디자인, 색상 테마, 머리글/바닥글도 자동 삽입 가능
- 부서장 이름, 총합, 평균 등 통계도 계산해서 삽입 가능
'Python - 자동화' 카테고리의 다른 글
[21편] PDF 자동 생성 및 병합 자동화 - 보고서/계약서 통합 실전편 (0) | 2025.05.21 |
---|---|
[20편] 워드 문서 자동 생성하기 - 엑셀 기반 계약서/레터 자동화 실전편 (0) | 2025.05.20 |
[17편] 엑셀 차트를 PDF & PNG 이미지로 자동 저장하기 - 고화질 보고서용 자료 추출 (0) | 2025.05.17 |
[16편] 부서별 차트 색상 자동 지정하기 - 시각적 보고서 품질 향상하기 (0) | 2025.05.16 |
[15편] 한 번에 여러 개의 엑셀 차트 자동 생성하기 - 부서별 보고서 실전 자동화 (0) | 2025.05.15 |