この記事では、Pythonのopenpyxl
ライブラリを使い、Excelワークシートのセルのフォントスタイル(サイズ、太字、イタリック体、色など)をプログラムで設定する方法について解説します。
目次
Font
オブジェクトのインポートと作成
セルのフォントスタイルを操作するには、まずopenpyxl.styles
モジュールからFont
クラスをインポートする必要があります。
Font
オブジェクトを生成する際に、様々な引数を指定することでフォントの見た目を定義します。
name
: フォント名(例:'Calibri'
,'Arial'
)size
: フォントサイズbold
:True
で太字italic
:True
でイタリック体color
:FF0000
(赤)のようなRRGGBB形式の16進数コードで色を指定
from openpyxl.styles import Font
# 太字でサイズ24のフォントを定義
title_font = Font(name='Calibri', size=24, bold=True)
# 赤色のイタリック体のフォントを定義
important_note_font = Font(name='Arial', size=12, italic=True, color='FF0000')
セルにフォントスタイルを適用する
作成したFont
オブジェクトは、セルオブジェクトの.font
属性に代入することで、そのセルに適用されます。
以下の例では、新しいワークブックを作成し、A1セルとA3セルにそれぞれ異なるフォントスタイルを適用しています。
import openpyxl
from openpyxl.styles import Font
# 新しいワークブックを作成
workbook = openpyxl.Workbook()
# アクティブなシートを取得
sheet = workbook.active
# 1. フォントオブジェクトを作成
title_font = Font(name='Calibri', size=24, bold=True)
note_font = Font(italic=True, color='808080') # グレイのイタリック
# 2. セルに値を書き込み、フォントを適用
sheet['A1'] = 'Monthly Report'
sheet['A1'].font = title_font
sheet['A3'] = 'This is an internal document.'
sheet['A3'].font = note_font
# 3. 変更をファイルに保存
workbook.save('styled_document.xlsx')
print("styled_document.xlsx を保存しました。")
このスクリプトを実行すると、styled_document.xlsx
というExcelファイルが作成され、A1セルは大きく太字のフォントで、A3セルはグレイのイタリック体で表示されます。
まとめ
openpyxl
でセルのフォントスタイルを設定する手順は、openpyxl.styles
からFont
オブジェクトをインポートし、目的のスタイルを持つFont
オブジェクトを生成し、そのオブジェクトを対象セルの.font
属性に代入するという流れになります。この方法により、レポートや請求書などのExcelドキュメントの見た目をプログラムで自動的に整えることが可能です。