1. 폰트 설정
from openpyxl.styles import Font # 폰트 설정 모듈
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
a1 = ws['A1']
ft = Font(color="FF0000") # 폰트 변수 생성, 글자 색깔 빨간색응로
a1.font = ft # A1 셀에 폰트 변수 적용
ws['B2'].font = ft # # B2 셀에 폰트 변수 적용
wb.save('sample_style.xlsx')
- 결과
더보기
임의의 값 입력 시 글자색 적용되어 있음
폰트 변경 시
from openpyxl.styles import Font # 폰트 설정 모듈
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
a1 = ws['A1']
ft = Font(color="FF0000") # 폰트 변수 생성, 글자 색깔 빨간색응로
a1.font = ft # A1 셀에 폰트 변수 적용
ws['B2'].font = ft # # B2 셀에 폰트 변수 적용
#a1.font.bold = True # 오류 발생 Style objects are immutable and cannot be changed.Reassign the style with a copy
a1.font = Font(color="0000FF00", bold=True, size=20, name='Arial') # Font 새로 할당, 색 변경, 진하게, 크기 20, 글씨체 변경
wb.save('sample_style.xlsx')
- 결과
더보기
임의의 값 입력 시 폰트 변경되어 적용됨
폰트 복사
from openpyxl.styles import Font # 폰트 설정 모듈
from openpyxl import Workbook
from copy import copy # 복사 모듈
wb = Workbook()
ws = wb.active
a1 = ws['A1']
ft = Font(color="FF0000") # 폰트 변수 생성, 글자 빨간색
a1.font = ft # A1 셀에 폰트 변수 적용
ft2 = copy(ft) # copy 를 통한 스타일 복사 가능
ft2.size = 30 # 복사한 스타일값에서 추가 수정 가능, 크기 30
ft2.color="00FF00FF" # 복사한 스타일값에서 추가 수정 가능, 색 변경
ws['A2'].font = ft2 # A2 셀에 복사한 폰트 적용
wb.save('sample_style.xlsx')
- 결과
더보기
임의의 값 입력 시 폰트 변경되어 적용됨
2. 셀 색상 변경
## 컬러
from openpyxl.styles import Color, PatternFill # 필요한 모듈
color_index = 0 # color 인덱스 지정을 위한 변수
for row_num in range(1,9): # 8개 행 반복
for col_num in range(1,9): # 8개 열 반복
color = Color(indexed=color_index) # Color 인덱스에 인덱스 할당, 인덱스에 있는 색 지정됨
paint_cell = PatternFill(patternType='solid', fgColor=color) # 위에서 할당한 색을 셀 색으로 할당하기 위함
select_cell = ws.cell(row=row_num, column=col_num) # 셀 1개씩 순서대로 선택
select_cell.fill = paint_cell # 선택된 셀에 인덱스에 맞는 셀 색 변경
color_index += 1 # 인덱스 값 증가
- 결과
인덱스된 색은 아래와 같이 사용 가능
출처 : openpyxl.readthedocs.io/en/stable/styles.html
#참고 : https://openpyxl.readthedocs.io/
728x90
반응형
'프로그래밍 > Python' 카테고리의 다른 글
Python_openpyxl_엑셀_06_메모 (0) | 2021.02.07 |
---|---|
Python_openpyxl_엑셀_05_차트_영역,막대 (0) | 2021.02.06 |
Python_Jupyter Notebook_VS Code 실행 (0) | 2021.02.03 |
Python_openpyxl_엑셀_04_행과 열, 범위 이동 (0) | 2021.02.02 |
Python_openpyxl_엑셀_03_데이터 응용 (0) | 2021.02.01 |
댓글