[Python] openpyxl로 엑셀 차트 자동화하기 – 라인 차트, 바 차트, 저장까지 실습 예제

2025. 7. 9. 12:13·프로그래밍/Python

[Python] openpyxl로 엑셀 차트 자동화하기 – 라인 차트, 바 차트, 저장까지 실습 예제

엑셀 자동화에서 차트 생성은 빠질 수 없는 기능입니다.

이번 글에서는 openpyxl을 사용해 라인 차트(Line Chart), 막대 차트(Bar Chart)를 생성하고 엑셀 파일에 저장하는 과정을 단계별로 살펴보겠습니다.


✅ 1. 기본 데이터 생성


from openpyxl import Workbook

wb = Workbook()
ws = wb.active

# 헤더
ws.append(["월", "매출"])
# 데이터
data = [
    [1, 100],
    [2, 120],
    [3, 90],
    [4, 150],
    [5, 170],
]
for row in data:
    ws.append(row)

wb.save("chart_data.xlsx")

✅ 2. 라인 차트 추가하기


from openpyxl.chart import LineChart, Reference
from openpyxl import load_workbook

wb = load_workbook("chart_data.xlsx")
ws = wb.active

# 라인 차트 생성
chart = LineChart()
chart.title = "월별 매출 추이"
chart.style = 13
chart.y_axis.title = "매출"
chart.x_axis.title = "월"

# 데이터 설정 (B열 데이터, 1행은 제목)
data = Reference(ws, min_col=2, min_row=1, max_row=6)
cats = Reference(ws, min_col=1, min_row=2, max_row=6)
chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)

# 시트에 차트 추가
ws.add_chart(chart, "D2")

wb.save("chart_line.xlsx")

✅ 3. 막대 차트 추가하기


from openpyxl.chart import BarChart

wb = load_workbook("chart_data.xlsx")
ws = wb.active

# 막대 차트 생성
bar_chart = BarChart()
bar_chart.title = "월별 매출 막대 그래프"
bar_chart.y_axis.title = "매출"
bar_chart.x_axis.title = "월"

# 데이터 및 범주 지정
data = Reference(ws, min_col=2, min_row=1, max_row=6)
cats = Reference(ws, min_col=1, min_row=2, max_row=6)
bar_chart.add_data(data, titles_from_data=True)
bar_chart.set_categories(cats)

# 시트에 추가
ws.add_chart(bar_chart, "D20")

wb.save("chart_bar.xlsx")

📌 마무리

openpyxl을 활용하면 복잡한 보고서도 파이썬 코드로 자동화할 수 있습니다.

이번 글에서 소개한 라인 차트, 바 차트는 실무에서 자주 사용되는 시각화 기능입니다.
다음 글에서는 엑셀 시트 병합, 파일 병합 자동화에 대해 다뤄보겠습니다.


🔖 관련 글 추천

  • [Python] openpyxl로 엑셀 자동화하기 – 파일 생성부터 조건부 서식까지
반응형
저작자표시 비영리 (새창열림)

'프로그래밍 > Python' 카테고리의 다른 글

[Python] 파일 자동 정리 프로그램 만들기 – 확장자별 분류부터 이동, 삭제까지  (4) 2025.07.09
[Python] openpyxl로 엑셀 자동화하기 – 파일 생성부터 스타일, 조건부 서식까지 완전 정복  (0) 2025.07.08
[Python] pandas로 CSV, JSON, Excel 완전 정복 파일 불러오기부터 저장까지 실전 예제  (2) 2025.05.21
[Python] 내 컴퓨터 중복 파일 찾기 – 해시값 비교로 이미지/문서 정리하기  (2) 2025.03.28
[Python] 나만의 명언 봇 만들기 – JSON으로 랜덤 출력하기  (2) 2025.03.28
'프로그래밍/Python' 카테고리의 다른 글
  • [Python] 파일 자동 정리 프로그램 만들기 – 확장자별 분류부터 이동, 삭제까지
  • [Python] openpyxl로 엑셀 자동화하기 – 파일 생성부터 스타일, 조건부 서식까지 완전 정복
  • [Python] pandas로 CSV, JSON, Excel 완전 정복 파일 불러오기부터 저장까지 실전 예제
  • [Python] 내 컴퓨터 중복 파일 찾기 – 해시값 비교로 이미지/문서 정리하기
큐레이트
큐레이트
저의 일상을 기록하는 블로그입니다.
  • 큐레이트
    큐레이트의 기록
    큐레이트
  • 전체
    오늘
    어제
    • 분류 전체보기 (196)
      • 국내여행 (37)
        • 애견여행 (33)
        • 맛집여행 (2)
      • 프로그래밍 (88)
        • C# (24)
        • Python (27)
        • Flutter (5)
        • .NET (4)
        • ASP (7)
        • Next.js (3)
        • Html (5)
        • Tomcat (2)
        • typescript (3)
        • etc (8)
      • 일상생활 (71)
        • 다이어트일지 (70)
        • 기타 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 복이랑스마트스토어
    • 복이랑블로그
  • 공지사항

    • 블로그 소개
  • 인기 글

  • 태그

    오블완
    FastAPI
    제주도
    일상생활
    자동매매
    pt
    애견동반
    HTML
    애견여행
    C#
    Python
    파이썬
    DevExpress
    오운완
    다이어트 일지
    식단관리
    티스토리챌린지
    국내여행
    다이어트
    자동화
    애견동반여행
    제주도애견동반여행
    다이어트일지
    웹개발
    Flutter
    식단
    헬스
    체중기록
    운동일지
    iis
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
큐레이트
[Python] openpyxl로 엑셀 차트 자동화하기 – 라인 차트, 바 차트, 저장까지 실습 예제
상단으로

티스토리툴바