OpenPyXL Pythonでエクセル操作 – セルの値の位置を変更(上下左右中央揃え)

OpenPyXL

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の他の関数の使い方について知りたい場合は下記記事が非常に参考になります。

タイトルとURLをコピーしました