사무실 자동화의 가장 큰 영역이 「반복적 엑셀 작업」입니다.
매주 수십 개 파일을 열어 같은 가공·집계를 한다면 openpyxl로 100% 자동화 가능합니다.
사무직 생산성 폭증의 첫 단계.
기본.
from openpyxl import load_workbook.
wb = load_workbook("report.xlsx").
ws = wb["Sheet1"] 또는 wb.active.
cell = ws["A1"].value.
ws.iter_rows(values_only=True)로 행 단위 순회.
쓰기.
ws["A1"] = "제목".
ws.append([1, 2, 3]) — 새 행.
셀 서식 — from openpyxl.styles import Font, PatternFill.
ws["A1"].font = Font(bold=True, color="FF0000").
굵게·색상·정렬 등 모든 스타일 적용 가능.
수식.
ws["D1"] = "=SUM(A1:C1)" — 엑셀 수식을 그대로 문자열로.
파일을 다시 열면 자동 계산됨.
다만 openpyxl 안에서는 계산된 값을 못 봄(=SUM(...) 텍스트만 보임).
차트도 가능.
from openpyxl.chart import BarChart, Reference.
막대·선·파이 차트를 코드로 생성·삽입.
매주 보고서를 「데이터 → 차트 포함 엑셀」 자동 생성 가능.
보고서 자동화의 결정타.
한 줄 요약
openpyxl로 엑셀 읽기·쓰기·서식·수식·차트까지 자동화.
매주 반복 작업을 100% 자동화 가능, 사무 생산성에 폭발적 효과.
더 알아볼 것
- xlsxwriter — 쓰기 전용 더 빠른 라이브러리
- .xls 구버전 — xlrd
- 엑셀 → PDF — comtypes(윈도우)