Python으로 XLSX 파일 작성하기 | Spire.XLS

2025-06-30 05:57:10 zaki zou

Excel 파일을 효율적으로 작성하는 것은 데이터 분석, 보고 및 자동화를 위한 Python 기반 워크플로우에서 필수적입니다. 사용 가능한 많은 라이브러리 중에서 Spire.XLS for Python은 차트, 수식, 조건부 서식, 암호화 및 대용량 데이터 세트 처리와 같은 복잡한 기능을 지원하는 강력하고 Excel에 독립적인 솔루션으로 돋보입니다.

이 가이드에서는 신뢰할 수 있고 엔터프라이즈급 Excel 라이브러리를 사용하면서 Spire.XLS for Python을 사용하여 Python으로 XLSX 파일을 작성하는 방법을 기본적인 작성부터 고급 서식 지정까지 자세히 설명합니다.

Python 코드로 XLSX 파일 작성

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 파일 작성

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 코드로 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 코드로 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으로 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 파일:

Python으로 XLSX 파일에 내장 스타일 적용

결론

이 가이드에서는 Spire.XLS를 사용하여 Python으로 XLSX 파일을 작성하는 방법을 기본적인 작성부터 서식 지정까지 살펴보았습니다. 보고서 생성, 내보내기 자동화 또는 데이터 기반 애플리케이션 구축 등 어떤 작업이든 Spire.XLS for Python은 Excel 파일 생성을 위한 신뢰할 수 있고 효율적인 솔루션을 제공합니다.

무료 라이선스 받기

Spire.XLS for Python 전체 버전에 대한 30일 무료 평가판 라이선스를 요청할 수 있습니다. 이를 통해 평가 기간 동안 제한 없이 모든 고급 기능을 탐색할 수 있습니다.

참고 항목