NuGet을 통해 설치
PM> Install-Package Spire.XLS
관련 링크
Excel 파일을 효율적으로 작성하는 것은 데이터 분석, 보고 및 자동화를 위한 Python 기반 워크플로우에서 필수적입니다. 사용 가능한 많은 라이브러리 중에서 Spire.XLS for Python은 차트, 수식, 조건부 서식, 암호화 및 대용량 데이터 세트 처리와 같은 복잡한 기능을 지원하는 강력하고 Excel에 독립적인 솔루션으로 돋보입니다.
이 가이드에서는 신뢰할 수 있고 엔터프라이즈급 Excel 라이브러리를 사용하면서 Spire.XLS for Python을 사용하여 Python으로 XLSX 파일을 작성하는 방법을 기본적인 작성부터 고급 서식 지정까지 자세히 설명합니다.

- Spire.XLS for Python으로 XLSX 파일을 작성하는 방법
- Python을 사용하여 XLSX 파일에 다양한 유형의 데이터 작성
- Python으로 Excel 셀에 서식 및 스타일 적용
Spire.XLS for Python으로 XLSX 파일을 작성하는 방법
Spire.XLS for Python을 사용하는 이유
Spire.XLS for Python은 개발자가 Microsoft Office 없이 Excel 파일을 읽고, 쓰고, 조작할 수 있게 해주는 기능이 풍부한 라이브러리입니다. 성능과 유연성을 위해 제작되어 자동화 작업 및 대규모 보고에 이상적입니다.
주요 이점:
- 올인원 API: .xls 및 .xlsx 읽기/쓰기, 셀 서식 지정, 수식 삽입, 파일 변환 등.
- 크로스 플랫폼 지원: .NET, Java, Python에서 사용 가능하며 클라우드 기반 환경과 호환됩니다.
- 고급 Excel 기능: 차트, 피벗 테이블, 조건부 서식 및 보호를 지원합니다.
- 신뢰할 수 있는 문서 및 지원: 광범위한 API 참조, 튜토리얼, 개발자 포럼 및 지원팀.
- 무료 버전 사용 가능: 라이선스 비용 없이 가벼운 Excel 파일 처리에 이상적입니다.
Spire.XLS for Python 설치
요구 사항에 따라 Spire.XLS의 전체 버전 또는 무료 버전을 설치할 수 있습니다.
전체 버전:
pip install spire.xls
무료 버전 (작은 파일 및 기본 사용 사례용):
pip install spire.xls.free
기본 XLSX 파일 작성 단계
Python을 사용하여 Excel 파일에 쓰려면 다음 기본 단계를 따르십시오.
- Workbook() 생성자를 통해 새 Excel 통합 문서를 만듭니다.
- Workbook.LoadFromFile() 메서드를 사용하여 기존 XLSX 파일을 로드합니다(선택 사항).
- Workbook.Worksheets.Add() 메서드 또는 get_Item() 메서드를 사용하여 워크시트를 추가하거나 가져옵니다.
- Worksheet.Range.get_Item() 메서드를 통해 셀에 액세스합니다.
- Value, Text, NumberValue 등과 같은 CellRange 클래스 아래의 속성을 사용하여 데이터를 작성합니다.
- Workbook.SaveToFile() 메서드를 사용하여 통합 문서를 저장합니다.
기본 XLSX 파일 작성 코드 예제
- Python
from spire.xls import Workbook, ExcelVersion
# Workbook 객체 생성
workbook = Workbook()
# 첫 번째 기본 워크시트 가져오기
sheet = workbook.Worksheets.get_Item(0)
# B2 셀에 문자열 쓰기
sheet.Range.get_Item(2, 2).Text = "안녕하세요!"
# 통합 문서 저장
workbook.SaveToFile("output/BasicWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
출력 XLSX 파일:

Python을 사용하여 XLSX 파일에 다양한 유형의 데이터 작성
Spire.XLS는 CellRange 클래스에서 문자열, 날짜-시간 값, 부울 값 및 숫자 값과 같은 다양한 데이터 유형을 Excel 셀에 직접 쓸 수 있도록 지원하는 일련의 속성을 제공합니다. 이를 통해 개발자는 형식화된 값을 XLSX 파일의 셀에 직접 쉽게 쓸 수 있습니다.
지원되는 데이터 유형 및 속성
| 속성 | 값 유형 | 기능 |
| NumberValue | float | 숫자 값을 설정합니다 |
| Text | str | 일반 텍스트를 설정합니다 |
| DateTimeValue | datetime | 날짜 및 시간을 설정합니다 |
| BooleanValue | bool | 부울 값을 설정합니다 |
| Formula | str | 수식을 삽입합니다 |
| HtmlString | str | HTML 형식의 텍스트를 삽입합니다 |
| Value | str | 일반 값을 설정합니다 |
코드 예제 – 다양한 데이터 유형 작성
- Python
from spire.xls import Workbook, ExcelVersion, DateTime, HorizontalAlignType, Stream, ImageFormatType
# Workbook 객체 생성
workbook = Workbook()
# 첫 번째 기본 워크시트 가져오기
sheet = workbook.Worksheets.get_Item(0)
# B1 셀에 텍스트 쓰기
sheet.Range.get_Item(1, 2).Text = "일반 텍스트"
# B2 셀에 숫자 쓰기
sheet.Range.get_Item(2, 2).NumberValue = 123456
sheet.Range.get_Item(2, 2).NumberFormat = "#,##0.00"
# B3 셀에 날짜 쓰기
sheet.Range.get_Item(3, 2).DateTimeValue = DateTime.get_UtcNow()
# B4 셀에 부울 값 쓰기
sheet.Range.get_Item(4, 2).BooleanValue = True
# B5 셀에 수식 쓰기
sheet.Range.get_Item(5, 2).Formula = "B2/2"
# B6 셀에 HTML 문자열 쓰기
sheet.Range.get_Item(6, 2).HtmlString = "<p><span style='color: blue; font-size: 18px;'>파란색 글꼴 18픽셀 크기</span></p>"
# B7 셀에 일반 값 쓰기
sheet.Range.get_Item(7, 2).Value = "일반 값"
# B8 셀에 그림 삽입
with open("Logo.png", "rb") as f:
imageBytes = f.read()
stream = Stream(imageBytes)
sheet.Pictures.Add(8, 2, stream, ImageFormatType.Png)
# 기본 서식 설정
sheet.Range.get_Item(1, 2, 8, 2).HorizontalAlignment = HorizontalAlignType.Left
sheet.AutoFitColumn(2)
for i in range(sheet.Range.Columns.Count):
for j in range(sheet.Range.Rows.Count):
sheet.Range.get_Item(j + 1, i + 1).HorizontalAlignment = HorizontalAlignType.Left
# 통합 문서를 XLSX 파일로 저장
workbook.SaveToFile("output/WriteDataExcelCell.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
출력 XLSX 파일:

Python으로 Excel 셀에 서식 및 스타일 적용
서식은 Excel 보고서를 명확하고 전문적으로 만드는 데 핵심적인 역할을 합니다. Spire.XLS for Python을 사용하면 글꼴, 색상, 맞춤, 숫자 서식 및 내장 스타일을 사용하여 셀 모양을 사용자 지정할 수 있습니다. 이러한 도구는 가독성을 높이고 데이터를 세련되고 일관된 방식으로 제공하여 보고 및 자동화에 이상적입니다.
다음 코드 예제는 Python을 사용하여 워크시트의 서식을 지정하는 방법을 보여줍니다.
글꼴, 색상, 테두리 및 맞춤으로 셀 서식 지정
- Python
from spire.xls import Workbook, Color, LineStyleType, BordersLineType, HorizontalAlignType
# Workbook 객체 생성
workbook = Workbook()
# XLSX 파일 로드
workbook.LoadFromFile("Sample.xlsx")
# 첫 번째 워크시트 가져오기
sheet = workbook.Worksheets.get_Item(0)
# 글꼴 스타일 설정
# 헤더 행
sheet.Rows.get_Item(0).Style.Font.FontName = "Times New Roman"
sheet.Rows.get_Item(0).Style.Font.Size = 14
sheet.Rows.get_Item(0).Style.Font.IsBold = True
# 데이터 행
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).Style.Font.FontName = "Arial"
sheet.Rows.get_Item(i).Style.Font.Size = 12
# 셀 색상 설정
# 헤더 행
sheet.Rows.get_Item(0).Style.Color = Color.FromRgb(200, 245, 230)
# 데이터 행
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).Style.Color = Color.FromRgb(240, 255, 250)
# 테두리 스타일 설정
# 헤더 행
sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).LineStyle = LineStyleType.Thick
sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).Color = Color.get_White()
# 데이터 행
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).BorderInside(LineStyleType.Thin, Color.get_Black())
# 맞춤 설정
# 헤더 행
sheet.Rows.get_Item(0).Style.HorizontalAlignment = HorizontalAlignType.Center
# 데이터 행
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).Style.HorizontalAlignment = HorizontalAlignType.Left
# 열 너비 자동 맞춤
for i in range(sheet.Columns.Count):
sheet.AutoFitColumn(i + 1)
# Excel 파일 저장
workbook.SaveToFile("output/FormatXLSXFile.xlsx")
workbook.Dispose()
출력 XLSX 파일:

셀에 숫자 서식 설정
- Python
from spire.xls import Workbook, ExcelVersion
# Workbook 인스턴스 생성
workbook = Workbook()
# 첫 번째 워크시트 가져오기
sheet = workbook.Worksheets.get_Item(0)
# 셀 서식을 숫자로 지정
sheet.Range.get_Item(1, 2).NumberValue = 1234567890
sheet.Range.get_Item(1, 2).NumberFormat = "[Red]#,##0;[Green]#,##0"
# 셀 서식을 날짜로 지정
sheet.Range.get_Item(2, 2).NumberValue = 45562
sheet.Range.get_Item(2, 2).NumberFormat = "yyyy-mm-dd"
# 셀 서식을 시간으로 지정
sheet.Range.get_Item(3, 2).NumberValue = 45562
sheet.Range.get_Item(3, 2).NumberFormat = "hh:mm:ss"
# 셀 서식을 통화로 지정
sheet.Range.get_Item(4, 2).NumberValue = 1234567890
sheet.Range.get_Item(4, 2).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
# 셀 서식을 백분율로 지정
sheet.Range.get_Item(5, 2).NumberValue = 0.1234567890
sheet.Range.get_Item(5, 2).NumberFormat = "0.00%"
# 셀 서식을 분수로 지정
sheet.Range.get_Item(6, 2).NumberValue = 0.1234567890
sheet.Range.get_Item(6, 2).NumberFormat = "0.00_ ?"
# 셀 서식을 과학적 숫자로 지정
sheet.Range.get_Item(7, 2).NumberValue = 1234567890
sheet.Range.get_Item(7, 2).NumberFormat = "0.00E+00"
# 열 너비 자동 맞춤
for i in range(sheet.Columns.Count):
sheet.AutoFitColumn(i + 1)
# Excel 파일 저장
workbook.SaveToFile("output/SetNumberFormat.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
출력 XLSX 파일:

셀에 내장 스타일 적용
- Python
from spire.xls import Workbook, BuiltInStyles
# Workbook 인스턴스 생성
workbook = Workbook()
# Excel 파일 로드
workbook.LoadFromFile("Sample.xlsx")
# 첫 번째 워크시트 가져오기
sheet = workbook.Worksheets.get_Item(0)
# 첫 번째 행에 내장 헤더 스타일 적용
sheet.Rows.get_Item(0).BuiltInStyle = BuiltInStyles.Heading2
# 데이터 행에 내장 바닥글 스타일 적용
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).BuiltInStyle = BuiltInStyles.Accent2_20
# 열 너비 자동 맞춤
for i in range(sheet.Columns.Count):
sheet.AutoFitColumn(i + 1)
# Excel 파일 저장
workbook.SaveToFile("output/ApplyBuiltInStyle.xlsx")
workbook.Dispose()
출력 XLSX 파일:

결론
이 가이드에서는 Spire.XLS를 사용하여 Python으로 XLSX 파일을 작성하는 방법을 기본적인 작성부터 서식 지정까지 살펴보았습니다. 보고서 생성, 내보내기 자동화 또는 데이터 기반 애플리케이션 구축 등 어떤 작업이든 Spire.XLS for Python은 Excel 파일 생성을 위한 신뢰할 수 있고 효율적인 솔루션을 제공합니다.
무료 라이선스 받기
Spire.XLS for Python 전체 버전에 대한 30일 무료 평가판 라이선스를 요청할 수 있습니다. 이를 통해 평가 기간 동안 제한 없이 모든 고급 기능을 탐색할 수 있습니다.