0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

openpyxlで、フォントを変更して文字を縦書きにする

Posted at

誰かのために備忘録。

方法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にフォントを変更する方法あるし名前も設定できるし、変更したらもしかしたら行けるんじゃね?と思って試したら上手く行ったので、似たようなことをしたい人のために備忘録として残しておきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?