python openpyxlを使ってEXCELのセルの背景色を変更する

python openpyxlを使ってEXCELのセルの背景色を変更する

pythonで、ライブラリopenpyxlのPatternFillを使用して、EXCELのセルの背景色を変更するサンプルコードを記述してます。pythonのバージョンは3.8.5を使用してます。

環境

  • OS windows10 pro 64bit
  • python 3.8.5

PatternFill使い方

PatternFillを使用すると、EXCELのセルの背景色を変更することが可能です。

openpyxlをインストールされていない方は、pipでインストールします。

pip install openpyxl

<出力結果>
Successfully installed et-xmlfile-1.0.1 jdcal-1.4.1 openpyxl-3.0.5

PatternFill使い方

import openpyxl
from openpyxl.styles import PatternFill

fill = PatternFill(patternType='パターン',
                    fgColor='カラーコード')

# A2の背景色を変更
ws["A2"].fill = fill

以下は、openpyxlのPatternFillを使用して、EXCELのA1~E5の背景色を
「灰色」にするサンプルコードとなります。

import openpyxl
from openpyxl.styles import PatternFill

wb = openpyxl.Workbook()
ws = wb.active

# シート名を設定
ws.title = "sheet1"

# solid(塗りつぶし)
fill = PatternFill(patternType='solid',
                    fgColor='d3d3d3')

# A1 ~ E5までの背景色を灰色にする
for rows in ws['A1':'E5']:
    for cell in rows:
        cell.fill = fill

# 任意の名称で保存
wb.save('test.xlsx')

実行結果

patternTypeには、以下の値が指定できます。

darkDown
darkGrid
lightGrid
gray0625
lightGray
mediumGray
lightDown
lightVertical
gray125
darkTrellis
lightHorizontal
darkGray
darkHorizontal
solid
darkVertical
lightUp
lightTrellis
darkUp