[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' 카테고리의 다른 글
[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 |