誰かのために備忘録。
方法1
通常通りアライメントで縦書きにする場合
test.py
# セルに値を設定
cell = ws['A1']
# 縦書きの配置を設定
cell.alignment = Alignment(textRotation=255)
方法2
フォントの前に@を付けたい場合、フォント設定して名前変更すれば行けた。
test.py
# フォントを設定
font = Font(name='Meiryo UI')
font.name = '@Meiryo UI'
# シート内の全セルを操作
for row in ws.iter_rows():
for cell in row:
ws[cell.coordinate].font = font
メモ
openpyxlで、縦書きにする方法を調べていたのですが、どこもalignmentを変更する方法しか無く、書式設定でフォントに@をつける方法は紹介されてなかった(気がした)。
調べてもxlwing使えとか何とか言われて、違うんだよな~と思って眺めてたら、openpyxlにフォントを変更する方法あるし名前も設定できるし、変更したらもしかしたら行けるんじゃね?と思って試したら上手く行ったので、似たようなことをしたい人のために備忘録として残しておきます。