Python Excelセルの背景色・文字色を変更する

PythonではExcelのセルの背景色・文字色を変更することができます。

今回は、「openPyXl」パッケージを使ってExcelセルの背景色・文字色を変更する方法を解説します。

Excelセルの背景色・文字色を変更する

準備

PythonでExcel操作をするには、「openPyXl」パッケージが便利です。「openPyXl」を事前にダウンロード・インストールしておく必要があります。

参照外部パッケージ OpenPyXLをインストールする方法

Pythonの「openPyXl」パッケージを使って、背景色を変更するには「styles.PatternFill」を使います。文字色を変更するには「styles.fonts.Font」を変更します。

サンプルデータ

こちらはサンプルで使用するEXCELファイルです。

 

例1. Excelの背景色を変更する

import openpyxl

# ブックを取得
book = openpyxl.load_workbook('C:\\pg\\data.xlsx')
# シートを取得
sheet = book['Sheet1']

# 背景色を変更
fill = openpyxl.styles.PatternFill(patternType='solid',
                                   fgColor='FF0000', bgColor='FF0000')
# シートに設定
sheet['A1'].fill = fill

# 保存する
book.save('C:\\pg\\data.xlsx')

Excelファイル「data.xlsx」のシート「Sheet1」のセル「A1」の背景色を赤色「FF0000」に設定しました。

「PatternFill」の「patternType」は「solid」(塗りつぶし)にしました。

「bgColor」で背景色を設定します。背景色は「bgColor」なので「bgColor」だけ設定すればよさそうな気がしますが、なぜかこれだけでは背景色は変わりません。「fgColor」も背景色と同じ色を設定すると背景色が変更できます。

カラーコードはシングルクオーテーションでもダブルクオーテーションでもどちらで括っても動作しました。

# 背景色を変更
fill = openpyxl.styles.PatternFill(patternType='solid',
                                   start_color='FF0000', end_color='FF0000')

他にも「start_color=’FF0000′, end_color=’FF0000’」としても背景色を変更できます。

これでExcelセルの背景色を変更することができました。

例2. Excelの文字色を変更する

import openpyxl

# ブックを取得
book = openpyxl.load_workbook('C:\\pg\\data.xlsx')
# シートを取得
sheet = book['Sheet1']

# シートに設定
sheet['A1'].font = openpyxl.styles.fonts.Font(color='FF0000')

# 保存する
book.save('C:\\pg\\data.xlsx')

Excelファイル「data.xlsx」のシート「Sheet1」のセル「A1」の文字色を赤色「FF0000」に設定しました。

 

「openpyxl.styles.fonts.Font」でフォントの色を設定しました。

これでExcelセルの文字色を変更することができました。

 

参照:https://openpyxl.readthedocs.io/en/stable/#

以上、PythonでExcelセルの背景色・文字色を変更する方法でした。

コメント

  1. ai より:

    何度やっても
    だめでしたがこれをみてpythonで線ひけました ありがとうございました(^_^)/