본문 바로가기
프로그래밍/엑셀(Excel)

[XlsxWriter] 행, 열 고정하기 (feat. freeze_panes)

by 부자 꽁냥이 2022. 11. 7.

XlsxWriter 파이썬(Python) 모듈에서는 freeze_panes를 이용하여 엑셀의(Excel) 특정 행과 특정 열을 고정시킬 수 있다. 고정시킨다는 것은 스크롤로 이동해도 그 행과 열은 고정되어 계속 화면에 보인다는 것이다. 이번 포스팅에서는 XlsxWriter에서 freeze_panes 사용법을 알아보려고 한다.


   freeze_panes 사용법

XlsxWriter에서 freeze_panes는 Worksheet 클래스 내부 메서드로 고정시킬 행과 열 번호를 인자로 넘겨주면 된다. freeze_panes 사용법은 다음과 같다.


freeze_panes( '행 번호', '열 번호' )


이때 각 번호는 0 또는 양의 정수를 넣어줘야 하며 0은 행 또는 열을 고정시키지 않겠다는 뜻이고 2는 두 번째 행 또는 두 번째 열을 고정시키겠다는 것이다. 아래 코드는 3개의 시트를 생성하는데 첫 번째 시트에는 첫 번째 행을 고정하고 두 번째 시트에는 첫 번째 열을 고정하며 마지막으로 3번째 시트는 두 번째 행과 두 번째 열을 고정한다.

 

from xlsxwriter import Workbook

def write_cell(ws):
    for col_idx  in range(10):
        for row_idx in range(15):
            ws.write(row_idx, col_idx, f'{row_idx}_{col_idx}')

wb = Workbook('freeze_panes.xlsx')
ws1 = wb.add_worksheet('top_row')
write_cell(ws1)
ws1.freeze_panes(1, 0) ## 첫 번째 행 고정

ws2 = wb.add_worksheet('first_column')
write_cell(ws2)
ws2.freeze_panes(0, 1) ## 첫 번째 칼럼 고정

ws3 = wb.add_worksheet('second_row_column')
write_cell(ws3)
ws3.freeze_panes(2, 2) ## 두 번째 칼럼 두 번째 행 고정

wb.close()

 

위 코드를 실행하여 엑셀 파일을 열어보면 다음과 같이 행과 열이 고정되어 있는 것을 알 수 있다.

 

첫 번째 시트(top_row) 첫 번째 행이 고정되어 있는 것을 알 수있다.
두 번째 시트(first_column) 첫 번째 열이 고정되어 있다.
세 번째 시트(second_row_column) 두 번째 행과 열이 고정되어 있다.


댓글


맨 위로