본문 바로가기

코딩/파이썬과 엑셀

openpyxl로 엑셀 다루기 020. merge_cells 및 unmerge_cells 메서드로 셀 병합 및 병합된 셀 분리

python : openpyxl : merge_cells, unmerge_cells

merge_cells 및 unmerge_cells 메서드로 셀 병합 및 병합된 셀 분리

간혹 여러 셀을 병합하거나 병합된 셀을 분리할 경우가 있다.

 

아래의 그림에서 처럼 셀 A1 ~ E1, A2 ~ E2는 Worksheet 클래스의 merge_cells 메서드를 이용해 병합할 수 있다.

 

merge_cells 메서드를 이용해 병합된 셀

 

# openpyxl 3.0.7

from openpyxl.workbook import Workbook

wb = Workbook()
ws = wb.active

ws.merge_cells('A1:E1')
ws.merge_cells(start_row=2, start_column=1, end_row=2, end_column=5)

wb.save('sample.xlsx')

 

위의 코드에서 확인할 수 있듯이 merge_cells 메서드는 2 가지 방식으로 사용할 수 있다.

 

def merge_cells(range_string=None,
                start_row=None, start_column=None, end_row=None, end_column=None)

 

병합되어 있는 셀을 분리하고자 한다면 Worksheet 클래스의 unmerge_cells 메서드를 사용한다.

 

# openpyxl 3.0.7

from openpyxl import load_workbook

wb = load_workbook('sample.xlsx')
ws = wb.active

ws.unmerge_cells('A1:E1')
ws.unmerge_cells(start_row=2, start_column=1, end_row=2, end_column=5)

wb.save('sample.xlsx')

 

unmerge_cells 메서드를 이용해 병합된 셀 분리