OpenPyXL Pythonでエクセル操作 – セルの背景色の設定

OpenPyXL

OpenPyXLを使って、セルの背景色の設定を行います。

import openpyxl

# ワークブック新規作成
wb = openpyxl.Workbook()

# アクティブシートの取得
sh = wb.active

# 背景色を設定
color_fill   = openpyxl.styles.PatternFill(patternType='solid',fgColor='000000')

# セルのオブジェクトを取得する
cell = sh.cell(row=2,column=2)

# セルの背景色を設定
cell.fill = color_fill

# ワークブック保存
wb.save('file.xlsx')

# ワークブックを閉じる
wb.close()

プログラムのコードを最初から見ていきます。

import openpyxl

openpyxlをインポートします。これをしないとopenpyxlのモジュールが使えません

# ワークブック新規作成
wb = openpyxl.Workbook()

openpyxlモジュールの、Workbook()関数を使い、新規のエクセルファイルを作成します。

新規のエクセルファイル作成と同時にシート名が”Sheet”が自動で作成されます。

# アクティブシートを取得
sh = wb.active

アクティブのシートを取得します。このエクセルファイルには”Sheet”のみしか入っていないため、このシートのオブジェクトが入ります。

# 背景色を設定
color_fill   = openpyxl.styles.PatternFill(patternType='solid',fgColor='000000')

セルの背景色を定義します。この操作では、エクセルのセルの背景色を変更している訳ではありません。あくまでも、どういう背景色にするかを定義(設定)しているだけです。

openpyxl.styles.PatternFill( )でセルの背景色を定義します。( )の中のpatternType=でセルのパターンの種類を設定、fgColor=で色を設定できます。patternType=で設定できるパターは下記を参照ください。

今回は( )の中で、patternType=’solid’、fgColor=’000000′(黒色)で指示しました。

# セルのオブジェクトを取得する
cell = sh.cell(row=2,column=2)

2行/2列目のエクセルのセルのオブジェクトを取得します。

# セルの背景色を設定
cell.fill = color_fill

cell.fillで背景色を設定します。上記で定義したcolor_fillを入れ込み、背景色を変更します。

以上となります。

OpenPyXLの他の関数の使い方について知りたい場合は下記記事が非常に参考になります。

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