
시트 관련 유용한 속성
Worksheet 클래스가 제공하는 title이나 max_column, max_row 등의 속성 외 몇 가지 유용한 속성에 대해 소개한다.
아래의 코드를 작성한 후 실행해 샘플 엑셀 파일을 생성한다.
<코드 1>
# openpyxl 3.0.7
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
for i in range(1, 10):
ws.append([i * 10 + x for x in range(1, 11)])
print(ws.title)
print(ws.max_column)
print(ws.max_row)
wb.save('sample.xlsx')


sheet_view.showRowColHeaders
sheet_view.showRowColHeaders 속성은 시트의 행 번호 및 열 문자 정보를 숨기거가 보이게 하는 데 사용한다.
<코드 2>
# openpyxl 3.0.7
from openpyxl import load_workbook
wb = load_workbook('sample.xlsx')
ws = wb.active
ws.sheet_view.showRowColHeaders = False
wb.save('sample.xlsx')

sheet_view.showGridLines
sheet_view.showGridLines 속성은 시트의 눈금선을 보이게 하거나 숨기는 데 사용한다.
<코드 3>
# openpyxl 3.0.7
from openpyxl import load_workbook
wb = load_workbook('sample.xlsx')
ws = wb.active
ws.sheet_view.showGridLines = False
wb.save('sample.xlsx')

sheet_view.zoomScale
sheet_view.zoomScale 속성은 활성화 상태에 있는 시트의 화면 보기 비율을 확대하거나 축소할 때 사용한다.
<코드 4>
# openpyxl 3.0.7
from openpyxl import load_workbook
wb = load_workbook('sample.xlsx')
ws = wb.active
ws.sheet_view.zoomScale = 120
wb.save('sample.xlsx')


freeze_panes
freeze_panes 속성으로 셀 고정을 설정한다.
<코드 5>
# openpyxl 3.0.7
from openpyxl import Workbook
import random
wb = Workbook()
ws = wb.active
ws['A1'] = 'A'
ws['B1'] = 'B'
for i in range(3, 51):
r = random.randint(1, 100)
ws.cell(i, 1, value=r)
ws.cell(i, 2, value=r)
ws.freeze_panes = ws['A3']
wb.save('sample.xlsx')

auto_filter.ref
auto_filter.ref 속성으로 셀에 필터를 설정한다.
<코드 6>
# openpyxl 3.0.7
from openpyxl import Workbook
import random
wb = Workbook()
ws = wb.active
ws['A1'] = 'A'
ws['B1'] = 'B'
for i in range(3, 51):
r = random.randint(1, 100)
ws.cell(i, 1, value=r)
ws.cell(i, 2, value=r)
ws.auto_filter.ref = 'A2:B' + str(ws.max_row)
wb.save('sample.xlsx')

column_dimensions[x].width
column_dimensions[x].width 속성으로 열 너비를 설정할 수 있다.
<코드 7>
# openpyxl 3.0.7
from openpyxl import Workbook
import random
wb = Workbook()
ws = wb.active
ws['A1'] = 'A'
ws['B1'] = 'B'
for i in range(3, 51):
r = random.randint(1, 100)
ws.cell(i, 1, value=r)
ws.cell(i, 2, value=r)
ws.column_dimensions['B'].width = 30
wb.save('sample.xlsx')

'코딩 > 파이썬과 엑셀' 카테고리의 다른 글
| openpyxl로 엑셀 다루기 026. 셀 서식(스타일) 설정 (0) | 2021.08.30 |
|---|---|
| openpyxl로 엑셀 다루기 024. 열 또는 행 추가, 삭제 - insert_cols, insert_rows (0) | 2021.08.16 |
| openpyxl로 엑셀 다루기 023. 셀 서식(스타일) 설정 - 폰트(글꼴) (0) | 2021.08.06 |
| openpyxl로 엑셀 다루기 022. column_dimensions와 row_dimensions로 그룹 설정 (0) | 2021.08.05 |
| openpyxl로 엑셀 다루기 021. add_image 메서드로 셀에 그림 파일 넣기 (0) | 2021.07.27 |