Python openpyxl 대각선 긋는 방법 3가지

엑셀에서 표를 작성하다보면 표의 좌측 상단 셀에 대각선을 그어서 사용하는 경우가 있죠. Python openpyxl 대각선 긋는 방법에 대해서 살펴보겠습니다.

Python openpyxl 대각선 긋는 방법

엑셀에서도 셀에 대각선을 그어서 사용할 때가 있듯이, openpyxl에서도 셀에 대각선을 그어서 사용할 수 있습니다. 그럼 사용 방법을 알아보겠습니다.

openpyxl.styles.borders 모듈의 Border 클래스를 사용하면 됩니다. diagonal 파라미터를 사용해서 대각선의 색상이나 유형을 설정할 수 있습니다. 그리고 diagonalUp은 셀의 좌측 하단에서 우측 상단으로 올라가는 형대의 대각선을 그을 때 사용하며, diagonalDown은 셀의 좌측 상단에서 우측 하단을 향해 내려가는 형태의 대각선을 그릴 때 사용합니다. diagonalUp과 diagonalDown은 bool 값으로 사용 여부를 선택할 수 있으며, 두 파라미터 모두 True로 설정하면 셀에 X 모양의 대각선 긋기가 됩니다.

다음 코드를 통해서 사용법을 알아보겠습니다.

from openpyxl import Workbook
from openpyxl.styles import Border, Side

wb = Workbook()
ws = wb.active

ws['A1'].border = Border(diagonal=Side(style='thin', color="ff0000"))
ws['A1'].value = "diagonal"
ws['B1'].border = Border(diagonal=Side(style='thin', color="ff0000"), diagonalUp=True)
ws['B1'].value = "diagonalUp"
ws['C1'].border = Border(diagonal=Side(style='thin', color="ff0000"), diagonalDown=True)
ws['C1'].value = "diagonalDown"
ws['D1'].border = Border(diagonal=Side(style='thin', color="ff0000"), diagonalUp=True, diagonalDown=True)
ws['D1'].value = "Both"
ws.column_dimensions['A'].width = 10
ws.column_dimensions['B'].width = 20
ws.column_dimensions['C'].width = 20
ws.column_dimensions['D'].width = 20

wb.save("output_diagonal.xlsx")
Python

위의 코드를 실행한 결과는 아래와 같습니다.

그림 1. openpyxl 대각선 적용 결과 3가지
그림 1. openpyxl 대각선 적용 결과 3가지

A1 셀을 보시면 아무런 적용이 되지 않은 것을 볼 수 있습니다. 왜냐하면 diagonal 파라미터는 Side 클래스를 이용해서 선의 스타일과 색상을 설정하는데에만 이용하기 때문입니다. 대각선을 긋는지에 대한 여부는 diagonalUp과 diagonalDown 파라미터를 이용해서 결정합니다. 즉, diagonal 파라미터만 사용하면 아무런 반응을 하지 않습니다.

B1과 C1 셀은 각각 diagonalUp과 diagonalDown으로 지정한 결과입니다. 마지막으로 D1은 두 가지 파라미터를 모두 설정한 경우입니다.

관련 자료

openpyxl.styles.borders 모듈의 Border 클래스 문서를 참고했습니다.

같이 읽으면 좋은 글

Leave a Comment