파이썬(Python)

[ openpyxl ] 파이썬 openpyxl 라이브러리를 사용하여 시트 생성과 시트 색 지정하기

카루루1007 2025. 3. 30. 21:26
728x90
반응형

 들어가며

 

openpyxl은 파이썬으로 엑셀 파일을 읽고 쓰고 수정할 수 있는 라이브러리입니다.

이번 블로그에서는 엑셀 파일에 워크시트를 생성하고,

시트의 색상을 설정하는 방법을 알아보겠습니다.

 

반응형

 openpyxl 라이브러리 설치하기

 

openpyxl 라이브러리를 설치하려면 아래 명령을 실행하면 됩니다.

pip install openpyxl

 

 워크북과 워크시트 생성

 

먼저 엑셀에서 워크북 즉, 엑셀 파일 하나를 생성하고

저장하는 코드는 다음과 같습니다.

from openpyxl import Workbook

# 워크북 생성
wb = Workbook()

# 워크북 저장
wb.save("colored_tabs.xlsx")

 

이 코드를 실행하면 아래 그림과 같이

엑셀 파일 하나가 생성이 됩니다.

 

그리고 아래 그림과 같이 시트가 하나 생성이 됩니다.

 

 

728x90

 기본시트 색상 설정해 보기

 

파일이 생성될 때 기본적으로 생성되는 시트의 색상을 바꾸어 보겠습니다.

 

먼저 기본적으로 활성화된 시트의 이름을 

BlueTab으로 바꾸겠습니다.

from openpyxl import Workbook

# 워크북 생성
wb = Workbook()

# 기본 워크시트 외에 추가 시트 생성
sheet1 = wb.active  # 기본 시트
sheet1.title = "BlueTab"

# 워크북 저장
wb.save("colored_tabs.xlsx")

 

위 코드를 실행하고 엑셀 파일을 열어보면

아래 그림과 같이 시트 이름이 바뀐 것을 볼 수 있습니다.

 

그다음 해당 시트의 색을 파란색으로 바꾸어 보겠습니다.

from openpyxl import Workbook

# 워크북 생성
wb = Workbook()

# 기본 워크시트 외에 추가 시트 생성
sheet1 = wb.active  # 기본 시트
sheet1.title = "BlueTab"

# 탭 색상 설정
sheet1.sheet_properties.tabColor = "0000FF"  # 파란색

# 워크북 저장
wb.save("colored_tabs.xlsx")

 

위 코드를 실행하면 아래 그림과 같이

시트의 색상이 바뀌게 됩니다.

아래는 시트가 하나밖에 없고 해당 시트가 선택되어 있기 때문에

그라데이션이 삽입된 것으로 보이지만

실재로는 파란색이 설정되어 있습니다.

 

 

 시트 하나 추가하고 다른 색으로 지정해 보기

 

다음은 시트를 하나 추가하고

색을 빨간색으로 지정해 보겠습니다.

from openpyxl import Workbook

# 워크북 생성
wb = Workbook()

# 기본 워크시트 외에 추가 시트 생성
sheet1 = wb.active  # 기본 시트
sheet1.title = "BlueTab"

# 탭 색상 설정
sheet1.sheet_properties.tabColor = "0000FF"  # 파란색

sheet2 = wb.create_sheet(title="RedTab")  # 새 시트 생성
sheet2.sheet_properties.tabColor = "FF0000"  # 빨간색

# 워크북 저장
wb.save("colored_tabs.xlsx")

 

위 코드를 실행하면 아래 그림과 같이

RedTab이라는 시트가 하나 생성이 되고 빨간색으로 설정이 됩니다.

 

 마치며

 

색상은 HEX 문자열로 설정해야 합니다.

HEX 문자열은 아래 사이트에서도 확인이 가능합니다.

HTML Color Picker

 

인터넷이 안 되는 환경이라면

간단하게 그림판에서도 확인이 가능합니다.

 

아래 그림의 빨간색 원 부분을 클릭한 다음

파란색 네모 부분에서 HEX 문자열을 확인할 수 있으며

맨 앞의 #을 제거하고 사용하시면 됩니다.

여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.

파이썬 공부하기

728x90
반응형