Why it doesn't work?

作業のメモ、記録をブログに残しています。

Python Python openpyxlでエクセルファイルのセル内のテキスト位置を設定する

Pythonでエクセル操作のシリーズがもう少し続きます。
前回はセルの枠線の設定を行いましたが、今日はセル内のテキスト位置を設定してみます。
テキスト位置を設定するのには、Alignmentモジュールを使用します。
Python openpyxlでエクセルファイルのセルを参照、更新する - Why it doesn't work?
の記事で使用したエクセルファイルとソースをベースAlignmentモジュールの処理を追加します。
Alignmentモジュールのhorizontal, verticalにそれぞれ値を設定することで、セル内のテキスト位置を指定します。
その他のインターフェイスと設定値については、オフィシャルドキュメントを参照して下さい。
openpyxl.readthedocs.io
今回は、1から5行目までのテキスト位置を「左上」に、6から10行目までのテキスト位置を「センター」に設定してみます。

import openpyxl
from openpyxl.styles.alignment import Alignment

book = openpyxl.load_workbook('test.xlsx')
sheet = book['work']

lefttop = Alignment(horizontal='left', vertical='top')
center = Alignment(horizontal='center', vertical='center')

i = 1
while i < 6:
    sheet.cell(row=i, column=1).alignment = lefttop
    i += 1

while i < 11:
    sheet.cell(row=i, column=1).value = i
    sheet.cell(row=i, column=1).alignment = center
    i += 1
book.save('test.xlsx')

これを実行して、"test.xlsx"を開くと以下のようになります。
f:id:zakiyamatakashi:20190624134245p:plain
結果をわかり易くするために高さを(手動で)変更してみましたが、その辺りはまた別途自動化して記事にしたいと思います。
それでは、今日はここまで。