본문 바로가기
Artificial Intelligence/60. Python

[PYTHON] xlsxwriter로 엑셀 자동화 보고서 완전 정복

by Papa Martino V 2025. 7. 22.
728x90

 

xlsxwriter로 엑셀 자동화 보고서 완전 정복
[PYTHON] xlsxwriter

 

1. xlsxwriter란?

xlsxwriter는 Excel 2007 이상 버전에서 사용되는 .xlsx 파일을 생성하는 Python 전용 라이브러리입니다. 주로 보고서 생성, 재무표 작성, 스타일링이 필요한 엑셀 파일을 만들 때 사용됩니다. 읽기 기능은 지원하지 않지만, 쓰기에 있어서는 현존 최고 수준의 완성도를 자랑합니다. 특히 차트 추가, 셀 병합, 조건부 서식, 수식 입력 등 실무에서 자주 사용하는 기능을 모두 지원한다는 점에서 openpyxl과 차별화됩니다.

2. 설치 방법

pip install xlsxwriter

라이브러리 설치 후에는 import를 통해 사용 가능합니다.

3. xlsxwriter 주요 기능 비교

기능 xlsxwriter openpyxl xlwings
엑셀 쓰기 지원 지원 지원
엑셀 읽기 불가 지원 지원
조건부 서식 지원 제한적 불가
차트 삽입 지원 제한적 지원
수식 작성 지원 지원 지원
속도 매우 빠름 보통 보통

4. 기본 예제: 엑셀 파일 생성 및 저장

import xlsxwriter

workbook = xlsxwriter.Workbook('sample.xlsx')
worksheet = workbook.add_worksheet()

worksheet.write('A1', '이름')
worksheet.write('B1', '점수')

worksheet.write('A2', '홍길동')
worksheet.write('B2', 95)

workbook.close()
      

해당 코드는 간단한 성적표를 작성하여 저장합니다.

5. 셀 서식 및 수식 입력

bold = workbook.add_format({'bold': True, 'font_color': 'blue'})
worksheet.write('A1', '이름', bold)

worksheet.write_formula('C2', '=B2*1.1')  # 10% 가산점 수식
      

6. 조건부 서식 적용 예시

worksheet.conditional_format('B2:B10', {
    'type': 'cell',
    'criteria': '>=',
    'value': 90,
    'format': workbook.add_format({'bg_color': '#C6EFCE', 'font_color': '#006100'})
})
      

90점 이상 점수에 대해 초록색 배경을 적용합니다.

7. 차트 삽입 예제

chart = workbook.add_chart({'type': 'column'})

chart.add_series({
    'name': '점수',
    'categories': '=Sheet1!$A$2:$A$4',
    'values': '=Sheet1!$B$2:$B$4'
})

worksheet.insert_chart('D2', chart)
      

이 코드는 학생 3명의 점수를 막대 차트로 시각화합니다.

8. 실무 자동화 활용 사례

  • 정기 보고서 생성: 월간 보고서 양식에 데이터를 삽입하고 자동 저장
  • 성적표 자동화: 수식과 차트를 포함한 교육 성과 보고서 작성
  • 조건부 데이터 분석: 특정 기준에 따라 셀 색상 자동 지정
  • 간편 차트 리포트: 영업 실적 데이터를 기반으로 그래프 생성

9. 자주 묻는 질문

Q. 기존 엑셀 파일에 덧붙일 수 있나요?
A. 아니요. xlsxwriter는 기존 파일 편집이 불가능하고, 새 파일만 생성 가능합니다.
Q. 여러 시트 생성은 가능한가요?
A. 예. add_worksheet() 함수를 여러 번 호출하면 됩니다.
Q. 이미지 삽입은 가능한가요?
A. 가능합니다. insert_image() 메서드를 통해 엑셀에 로고나 그래프를 넣을 수 있습니다.

10. 마무리

Python으로 보고서 자동화를 하고 싶다면, xlsxwriter는 강력하면서도 직관적인 도구입니다. 복잡한 서식 지정, 시각화, 조건부 처리까지 모두 가능한 이 라이브러리는 실무 자동화에 매우 적합합니다.

단순한 데이터 저장을 넘어서, 엑셀 문서를 하나의 정교한 프로그램처럼 다루고 싶다면 지금 바로 xlsxwriter를 사용해보세요.

출처

728x90