前回はPythonのOpenPyXLライブラリからセルのフォントの装飾を設定する方法を取り上げた。前回に取り上げたのは最も基本的な方法だ。1つの装飾しか変更していない。今回は前回に取り上げた装飾の変更を同時に行う方法を説明する。この使い方が一般的なものだ。

連載「PythonでExcel作業の効率化を図ろう」のこれまでの回はこちらを参照

フォントの複数の装飾を変更する

前回は「セル.font」に「Font(パラメーター)」を代入することでフォントの装飾を変更できることを説明した。ただし、前回の方法は1つの装飾しか変更することができなかった。前回の方法では実現できないこともある。今回は一歩進めて、複数の装飾を同時に変更する方法を取り上げる。こちらの方法を使うシーンのほうが多いだろう。

セルの複数のフォント装飾を同時に変更するスクリプト

今回の成果物は次のとおりだ。

openpyxl_sample_font_2.py

import openpyxl
from openpyxl.styles import Font, Color

#=========================================================================
# 保存するファイルのパス
#=========================================================================
output_xlsx_file_path = 'サンプルファイル.xlsx'

#=========================================================================
# Microsoft Exce データの生成とワークシートの取得
#=========================================================================
# 新規ワークブックの作成
wb = openpyxl.Workbook()

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

#=========================================================================
# Microsoft Exce データの生成とワークシートの取得
#=========================================================================
# A1: 組み合わせサンプル1
ws['A1'] = 'BIZ UDPゴシック、36'
ws['A1'].font = Font(name='BIZ UDPゴシック', size=36, bold=False, italic=False, underline="none", strike=False, color=Color(rgb='000000'))

# A2: 組み合わせサンプル2
ws['A2'] = 'BIZ UDPゴシック、36、ボールド'
ws['A2'].font = Font(name='BIZ UDPゴシック', size=36, bold=True, italic=False, underline="none", strike=False, color=Color(rgb='000000'))

# A3: 組み合わせサンプル3
ws['A3'] = 'BIZ UDPゴシック、36、ボールド、イタリック'
ws['A3'].font = Font(name='BIZ UDPゴシック', size=36, bold=True, italic=True, underline="none", strike=False, color=Color(rgb='000000'))

# A4: 組み合わせサンプル4
ws['A4'] = 'BIZ UDPゴシック、36、アンダーライン、橙色'
ws['A4'].font = Font(name='BIZ UDPゴシック', size=36, bold=False, italic=False, underline="single", strike=False, color=Color(rgb='FFA500'))

# A5: 組み合わせサンプル5
ws['A5'] = 'HGP教科書体、36'
ws['A5'].font = Font(name='HGP教科書体', size=36, bold=False, italic=False, underline="none", strike=False, color=Color(rgb='000000'))

# A6: 組み合わせサンプル6
ws['A6'] = 'HGP教科書体、36、ボールド'
ws['A6'].font = Font(name='HGP教科書体', size=36, bold=True, italic=False, underline="none", strike=False, color=Color(rgb='000000'))

# A7: 組み合わせサンプル7
ws['A7'] = 'HGP教科書体、36、ボールド、イタリック'
ws['A7'].font = Font(name='HGP教科書体', size=36, bold=True, italic=True, underline="none", strike=False, color=Color(rgb='000000'))

# A8: 組み合わせサンプル8
ws['A8'] = 'HGP教科書体、36、アンダーライン、橙色'
ws['A8'].font = Font(name='HGP教科書体', size=36, bold=False, italic=False, underline="double", strike=False, color=Color(rgb='FFA500'))

#=========================================================================
# 生成したMicrosoft Excelデータをファイルへ保存
#=========================================================================
wb.save(output_xlsx_file_path

編集中および実行の様子は次のとおり。

  • openpyxl_sample_font_2.py編集中のようす

    openpyxl_sample_font_2.py編集中の様子

  • openpyxl_sample_font_2.py実行のようす

    openpyxl_sample_font_2.py実行の様子

openpyxl_sample_font_2.pyを実行すると、次のようなMicrosoft Excelファイル「サンプルファイル.xlsx」が生成される。

  • 生成されたMicrosoft Excelファイル「サンプルファイル.xlsx」

    生成されたMicrosoft Excelファイル「サンプルファイル.xlsx」

フォント名、フォントサイズ、フォントスタイルといった複数の装飾が同時に変更されていることがわかる。それでは、どのように実装したのか説明していこう。