파이썬

[파이썬] openpyxl, 엑셀파일/시트 생성하기

코딩라이프 2022. 11. 17. 13:32

openpyxl 모듈을 사용하여 엑셀파일/시트를 생성하는 방법을 알아보겠습니다.

다음 내용을 다룹니다.

1. 기본 엑셀 파일 생성하기

2. 시트 속성 지정하기

3. 시트 추가하기

 


1. 기본 엑셀 파일 생성하기

wb = Workbook()              # 새 워크북 생성(excel 파일 자체를 Workbook이라고 한다.)
wb.save('files/test.xlsx')   # 파일 저장
wb.close()                   # 워크북 닫기

위 코드를 실행하면 다음과 같이 기본 엑셀 파일이 생성된 것을 확인할 수 있습니다.


2. 시트 속성 지정하기

- 워크북을 생성하면서 시트의 속성도 함께 변경해보도록 하겠습니다.

wb = Workbook()                          # 새 워크북 생성(excel 파일 자체를 Workbook이라고 한다.)

ws = wb.active                            # 활성화된 시트 가져오기
ws.title = 'mySheet1'                     # 시트 이름 변경
ws.sheet_properties.tabColor = 'ff0000'   # 탭 색상 변경

wb.save('files/test.xlsx')                # 파일 저장
wb.close()                                # 파일 저장

위 코드를 실행하면 다음과 같이 시트이름과 탭 색상이 지정된 것을 확인할 수 있습니다.


3. 시트 추가하기

■ 시트를 추가하는 메소드는 다음과 같습니다.

create_sheet(title=None, index=None)

- 파라미터를 넘기지 않으면 기본 이름으로 시트가 생성됩니다.

- 시트 이름, 시트인덱스를 파라미터로 넘겨 시트를 생성할 수 있습니다.

wb = Workbook()

############################################################
# mySheet1 : 워크북 생성 시 초기 시트 이름/컬러 변경
############################################################
ws1 = wb.active                           
ws1.title = 'mySheet1'                   
ws1.sheet_properties.tabColor = 'ff0000'  

############################################################
# mySheet2 : 기본이름으로 시트 추가하고 시트이름/탭 컬러 변경
############################################################
ws2 = wb.create_sheet()                   
ws2.title = 'mySheet2'                    
ws2.sheet_properties.tabColor = '00ff00'  

############################################################
# mySheet2 : 지정한 이름으로 시트 추가하고 탭 컬러 변경
############################################################
ws3 = wb.create_sheet('mySheet3')         
ws3.sheet_properties.tabColor = '0000ff'  

############################################################
# mySheet0 : 지정한 이름으로 지정한 위치에 시트 추가
############################################################
ws0 = wb.create_sheet('mySheet0', 0)      

wb.save('files/test.xlsx') 
wb.close()

위 코드를 실행하면 다음과 같이 시트이름과 탭 색상이 지정된 것을 확인할 수 있습니다.