본문 바로가기
업무자동화

셀 병합하고, 셀안의 텍스트 위치 조정하기 (위,아래,양옆)

by 감튜 2023. 4. 10.
반응형

엑셀은 단순 입력만 한다고 제대로 사용 되는 건 아니겠죠?

표를 조금 더 보기좋게 만들어주는 것 또한 엑셀을 사용하는 이유중에 하나입니다. 지난번 올린 내용에 엑셀에 10줄 삽입까지는 잘 따라오셨나요? 이번에는 가독성에 좋게 표의 제목을 만들어주겠습니다.  그렇게 하려면 표의 제목을 큼직한 칸에 만들어 주는게 좋겠죠?

 

# 셀 병합
ws.merge_cells('A8:E10')
ws.cell(column=1,row=8, value="제목")

 

셀이 한칸으로 바뀐게 보이시나요?? 그런데 우리가 일반적으로 병합을 해보면 아시겠지만, 보통 글이 써지는 위치가 한가운데 써지 잖아요? 저렇게 왼쪽 아레 써지니 보기가 불편하다고 느껴집니다. 위치 조정을 해볼게요.

from openpyxl import load_workbook
from openpyxl.styles import Alignment

wb = load_workbook(filename='function.xlsx')
ws = wb['Sheet1']

# 셀 병합
ws.merge_cells('A8:E10')
ws.cell(column=1,row=8, value="제목")

# 셀 병합 후, 병합된 셀 내부의 텍스트를 중앙에 위치시키기 위해 Alignment 객체 생성
align = Alignment(horizontal='center', vertical='center')

# 병합된 셀에 스타일 지정
ws['A1'].alignment = align

wb.save('function.xlsx')
wb.close()

일단 디자인을 변경하려면 library를 더 불러와야합니다. 

from openpyxl.styles import Alignment

2번째줄에 이 내용을 먼저 추가해주세요. 보통 라이브러리는 맨 처음에 먼저 추가를 해주는게 일반적입니다. 혹시라도 이 라이브러리 내용을 써야하는데 만약 내용 뒤에 라이브러리가 있게 된다면 그줄보다 앞에 있는 것들은 사용할수 없습니다. 이해하기 어려워도 좋아요. 무조건 앞에만 쓰면 된다고 생각하세요.

 

align = Alignment(horizontal='center', vertical='center')

horizontal 는 수평으로의 위치를 선택할수 있습니다. "center"말고는 뭐가있을까요?

 

'center': 가운데 정렬

'left': 왼쪽 정렬

'right': 오른쪽 정렬

이 3가지가 많이 쓰이니까 이것만 기억하시면 됩니다. 

 

vertical 도 마찬가지입니다. 

'top': 상단 정렬

 

'center': 가운데 정렬

 

'bottom': 하단 정렬

 

이 3가지가 자주 쓰니 편한걸로 쓰시면 됩니다. 

 

반응형

'업무자동화' 카테고리의 다른 글

행/열 삽입(추가)하기  (58) 2023.04.05
자주 쓰는 엑셀 함수 종류  (0) 2023.03.24
엑셀함수를 입력 하기  (0) 2023.03.20
파이썬으로 엑셀파일 수정하기  (0) 2023.03.15
파이썬으로 엑셀파일 읽기  (0) 2023.02.23

댓글