OpenPyXLを使って、セルの値の位置(アライメント)を変更します。合わせて上下左右中央揃えを行います。
import openpyxl
# ワークブック新規作成
wb = openpyxl.Workbook()
# アクティブシートの取得
sh = wb.active
# セルの値の位置を定義する
top_left = openpyxl.styles.Alignment(horizontal='left',vertical='top')
# セルのオブジェクトを取得する
cell = sh.cell(row=2,column=2)
# セルに値を代入する
cell.value = "AAA"
# セルの値の位置を設定する
cell.alignment = top_left
# ワークブック保存
wb.save('file.xlsx')
# ワークブックを閉じる
wb.close()

プログラムのコードを最初から見ていきます。
import openpyxl
openpyxlをインポートします。これをしないとopenpyxlのモジュールが使えません
# ワークブック新規作成
wb = openpyxl.Workbook()
openpyxlモジュールの、Workbook()関数を使い、新規のエクセルファイルを作成します。
新規のエクセルファイル作成と同時にシート名が”Sheet”が自動で作成されます。
# アクティブシートを取得
sh = wb.active
アクティブのシートを取得します。このエクセルファイルには”Sheet”のみしか入っていないため、このシートのオブジェクトが入ります。
# セルの値の位置を定義する
top_left = openpyxl.styles.Alignment(horizontal='left',vertical='top')
セルの値の位置を定義します。この操作では、エクセルのセルの位置を変更している訳ではありません。あくまでも、どういう位置にするかを定義(設定)しているだけです。
openpyxl.styles.Alignment( )でセルの値の位置(アライメント)を定義します。( )の中のhorizontal=で上下位置、vertical=で左右位置を設定できます。
セルの値の位置は下記の通りいくつかの種類があります。
horizontal 横位置 | 設定値 |
---|---|
標準 | general |
左詰め(インデント) | left |
中央揃え | center |
右詰め(インデント) | right |
繰り返し | fill |
両端揃え | justify |
選択範囲内で中央 | centerContinuous |
均等割り付け(インデント) | distributed |
vertical 縦位置 | 設定値 |
---|---|
上詰め | top |
中央揃え | center |
下詰め | bottom |
両端揃え | justify |
均等割り付け | distributed |
# セルのオブジェクトを取得する
cell = sh.cell(row=2,column=2)
# セルに値を代入する
cell.value = "AAA"
cell = sh.cell(row=2,column=2)でセルのオブジェクトを取得します。ここでは2行/2列目のセル情報を取得し、cell.value = “AAA”で、セルに”AAA”の値を入れます。
# セルの値の位置を設定する
cell.alignment = top_left
上記で取得した、cellオブジェクトの値の位置を設定します。top_leftで値を定義しておきましたので、これを指定する事で、2行/2列目のセルの値の位置を変更する事ができます。
以上となります。
OpenPyXLの他の関数の使い方について知りたい場合は下記記事が非常に参考になります。