Python에서 openpyxl을 이용한 엑셀 파일 조작을 하다보면 Color 클래스를 이용해야 하는 경우가 생깁니다. openpyxl Color 클래스 사용법을 알아보겠습니다.
목차
openpyxl Color 클래스 활용
우선 Color 클래스의 사용법을 설명하기 전에 간략한 사용법을 코드로 만나보겠습니다. 셀의 배경색을 빨간색으로 채우는 코드입니다.
from openpyxl import Workbook
from openpyxl.styles import PatternFill
from openpyxl.styles.colors import Color
wb = Workbook()
ws = wb.active
ws['A1'].fill = PatternFill(start_color=Color(rgb="FF0000"), end_color=Color(rgb="FF0000"), fill_type="solid")
ws['A1'].value = "빨간색 배경"
wb.save("pattern_fill_example.xlsx")
Python위의 코드를 이용하면 아래와 같이 A1 셀의 배경색이 빨간색으로 바뀐 것을 확인할 수 있습니다.
Color 클래스의 사용방법
Color 클래스는 openpyxl.styles.colors 모듈에 속해 있습니다.
rgb 파라미터
파라미터로 가장 많이 사용하는 것은 rgb입니다. rgb 파라미터에 넘겨주는 값은 문자열로 HEX 값의 RGB 값을 전달해 주면 됩니다. 첫 두 자리, 가운데 두 자리, 마지막 두 자리는 각각 16진수로 00~FF(0~255)까지 사용할 수 있으며, 순서대로 Red, Green, Blue 값을 의미합니다.
아래의 코드는 색상을 노랑색으로 적용하는 경우의 예시입니다.
from openpyxl.styles.colors import Color
color = Color(rgb="FFFF00")
PythonColor 클래스의 사용처
앞서 살펴본 패턴을 채울 때 사용하는 PatternFill 클래스에서 활용하며, GradientFill을 이용해서 셀 배경을 채울 때에도 사용합니다. 글자의 색을 설정할 때 Font 클래스를 활용할 수도 있습니다. 셀의 테두리 색상을 정할 때 Side 클래스에서도 활용할 수 있습니다.
Color 클래스 생략하는 방법
Color 클래스를 이용해서 색을 표현해야 할 때, rgb 값으로만 표현한다면 굳이 Color 클래스를 사용하지 않고, rgb 값만 적어 주어도 됩니다. 위의 빨간색 배경 채우는 코드는 아래와 같이 보다 간결하게 작성할 수도 있습니다.
from openpyxl import Workbook
from openpyxl.styles import PatternFill
from openpyxl.styles.colors import Color
wb = Workbook()
ws = wb.active
ws['A1'].fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")
ws['A1'].value = "빨간색 배경"
wb.save("pattern_fill_example.xlsx")
Python관련 자료
openpyxl.styles.colors 모듈 페이지를 참고했습니다.