OpenPyXLの使い方~色を付けよう~

はじめに

こんにちは。風助です。
今回はOpenPyXLを使ってExcelファイルのセルとタブの色を指定する方法を書いていきます。
使うのは.PatternFill()と.sheet_properties.tabColorというメソッドです。

PatternFillでセルに色を付ける

ではセルに色を付ける方法について。
簡単に解説すると、セルと塗り方、そして色を指定するだけです。

import openpyxl
from openpyxl.styles import PatternFill

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

ws['B3'].fill = PatternFill(patternType='solid', fgColor='fff2cc')

wb.save('test.xlsx')

こんな感じになります。

塗り方はたくさんあります。

import openpyxl
from openpyxl.styles import PatternFill

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

ws['A1'].fill = PatternFill(patternType='darkDown', fgColor='fff2cc', bgColor='d3d3d3')
ws['A2'].fill = PatternFill(patternType='darkGrid', fgColor='fff2cc', bgColor='d3d3d3')
ws['A3'].fill = PatternFill(patternType='lightGrid', fgColor='fff2cc', bgColor='d3d3d3')
ws['A4'].fill = PatternFill(patternType='gray0625', fgColor='fff2cc', bgColor='d3d3d3')
ws['A5'].fill = PatternFill(patternType='lightGray', fgColor='fff2cc', bgColor='d3d3d3')
ws['A6'].fill = PatternFill(patternType='mediumGray', fgColor='fff2cc', bgColor='d3d3d3')
ws['A7'].fill = PatternFill(patternType='darkGray', fgColor='fff2cc', bgColor='d3d3d3')
ws['A8'].fill = PatternFill(patternType='darkHorizontal', fgColor='fff2cc', bgColor='d3d3d3')
ws['A9'].fill = PatternFill(patternType='solid', fgColor='fff2cc', bgColor='d3d3d3')
ws['A10'].fill = PatternFill(patternType='darkVertical', fgColor='fff2cc', bgColor='d3d3d3')
ws['A11'].fill = PatternFill(patternType='lightUp', fgColor='fff2cc', bgColor='d3d3d3')
ws['A12'].fill = PatternFill(patternType='lightTrellis', fgColor='fff2cc', bgColor='d3d3d3')
ws['A13'].fill = PatternFill(patternType='darkUp', fgColor='fff2cc', bgColor='d3d3d3')
ws['A14'].fill = PatternFill(patternType='lightDown', fgColor='fff2cc', bgColor='d3d3d3')
ws['A15'].fill = PatternFill(patternType='lightVertical', fgColor='fff2cc', bgColor='d3d3d3')
ws['A16'].fill = PatternFill(patternType='gray125', fgColor='fff2cc', bgColor='d3d3d3')
ws['A17'].fill = PatternFill(patternType='darkTrellis', fgColor='fff2cc', bgColor='d3d3d3')
ws['A18'].fill = PatternFill(patternType='lightHorizontal', fgColor='fff2cc', bgColor='d3d3d3')

wb.save('test.xlsx')

fgColorの方が青系の色、bgColorの方は黄色系の色です。

色の塗り方はこの18パターン。画像のようになりますが、こんなにあっても正直覚えられない。
塗りつぶし、斜線、縦縞、横縞、水玉と、fg、bgのどちらをメインにするかの組み合わせなので覚えようと思えばできるかな?
必要な時にこのブログに確認しに来るのもアリではないでしょうか。

.sheet_properties.tabColorでシートに色を付ける

では次にタブに色を付けていきましょう。
タブは書くシートの名前が書いてあるトコの事です。言葉で書くより見てもらった方が早いかな。

import openpyxl

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

ws.sheet_properties.tabColor = "b4c6e7"

wb.save('test.xlsx')

コードはこんな感じ。実行すると次の画像のようになります。

色の指定は16進法カラーコードで行います。

タブ全体に色が付くわけではなく、下の方からグラデーション気味になるようです。

何もし色を指定しないとこんな感じです。比べてみると結構違いますね。

あとはとくに難しいとこはないかな。

おわりに

今回はセルとタブの色の塗り方を書きました。
お役に立ちましたでしょうか。

今回はここまで。次回までさようなら。

コメント

  1. minha casa より:

    Thank you, I have just been searching for info about this topic for ages and yours is the greatest I’ve discovered till now. But, what about the conclusion? Are you sure about the source?

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