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"を開くと以下のようになります。
結果をわかり易くするために高さを(手動で)変更してみましたが、その辺りはまた別途自動化して記事にしたいと思います。
それでは、今日はここまで。