OpenPyXLを使ってセルに色を付ける

color_eye Python
<開発環境>
Windows10 home 64bit
Python 3.10.9
selenium 3.141.0

OpenPyXLを使ってエクセルのセルに色を付けたり罫線をつけたりすることもできます。

今後、Pythonでエクセルを操作していく上で必要になることも多いかと思いますので簡単ではありますが説明していけたらと思います。

初めてOpenPyXLを使う場合はpipでインストールが必要になります。

pip install openpyxl

これで準備ができましたので早速コードを書いていきましょう。

今回はdefを使って関数化して使用していくやり方で書いていきたいと思います。

defで関数化しておくことで同じ処理を実行しやすくなったり他のコードにも再利用しやすいので便利かと思います。

今回はセルに色をつけるコードを説明していきます。

赤い枠で囲んだ部分までがdefで関数化した部分になります。

抜粋して少しずつ説明してきます。

import openpyxl as px
from openpyxl.styles import PatternFill

必須の部分なので一番上に必ず書いて下さい。

wb = px.load_workbook(filename=fName)
ws = wb.worksheets[0]

指定したエクセルを読み込みしてシートを指定しています。

worksheets[0]は一番左側にあるシートを指定していることになります。

mylist = [1]

色をつける行を指定しています。今回は項目につけたいので1にしてあります。

複数行に色をつけることが可能です。その場合は[2,4,6,8]のような形で指定できます。

for list in mylist:
 for row in ws.iter_rows():
  for cell in row:
   if cell.row == list:
    cell.fill = PatternFill(fgColor='ffa500',bgColor="ffa500", fill_type = "solid")

先程指定したmylist分繰り返す処理になります。

fgColorとbgColorでセルの色を指定していますので自分の好きな色コードを入れて下さい。

入力できたら実行してみましょう。

エラーがでなければエクセルを開いてみてセルに色がついていれば成功です。

次回は罫線のつけ方の説明していきますので興味があればぜひ見て下さい。

コメント

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