Python을 이용해서 엑셀 작성을 하다보면 들여쓰기를 해야 하는 경우가 있습니다. Python openpyxl 들여쓰기 방법을 살펴보겠습니다.
목차
Python openpyxl 들여쓰기 방법
셀 텍스트의 내용을 들여쓰기 해야 할 때 유용하게 사용할 수 있는 옵션입니다. 단, LibreOffice 에서는 작동하지 않습니다.
Alignment 클래스에 indent 파라미터를 사용하면 됩니다. 값으로는 float 타입의 값을 사용할 수 있습니다.
from openpyxl import Workbook
from openpyxl.styles import Alignment
wb = Workbook()
ws = wb.active
row_num = 1
ws[f'A1'].value = f"들여쓰기 안함"
ws[f'A2'].alignment = Alignment(indent=2)
ws[f'A2'].value = f"들여쓰기"
wb.save("output_indent.xlsx")
Pythonindent 파라미터를 사용한 결과는 아래 그림 1과 같습니다.
![그림 2. Python openpyxl 들여쓰기 적용 결과](https://osg.kr/wp-content/uploads/2024/06/image-9.png)
Libre Office에서는 지원하지 않아요
동일한 코드를 사용했을 때 Libre Office의 Calc에서 해당 엑셀 파일을 열면 들여쓰기가 아래 그림 2와 같이 작동하지 않았습니다. 따라서 마이크로소프트의 엑셀을 이용하지 않는 경우에는 indent 파라미터를 사용하지 않으시길 권합니다.
![그림 2. LibreOffice의 경우 indent 파라미터 작동 안함](https://osg.kr/wp-content/uploads/2024/06/image-8.png)
Dropbox Excel Editor에서의 작동 상태
Microsoft의 Excel이 없어서 Dropbox의 Excel Editor를 이용해서 확인했습니다. 공식문서 상으로는 float 값을 이용하면 된다고 했는데 DropBox의 Editor에서는 소수점을 사용했을 때에는 들여쓰기가 적용되지 않았으며, 정수값을 이용했을 때에는 적용이 되었습니다.
실제로 Excel을 이용했을 때 소수점이 적용되는지 궁금하네요. 혹시 실제로 Microsoft Excel로 확인 가능하신 분은 댓글로 알려주시면 고맙겠습니다.
관련 자료
openpyxl.sheets의 Alignment 클래스의 indent 파라미터 부분을 참고했습니다.