Pythonのopenpyxl
ライブラリでは、openpyxl.styles
からインポートしたFont
オブジェクトを使い、Excelセルのフォント名、サイズ、スタイル(太字、イタリック体)、色などを設定できます。
Fontオブジェクトのインポートと作成
セルのフォントスタイルを操作するには、まずopenpyxl.styles
モジュールからFont
クラスをインポートする必要があります。
Font
オブジェクトを生成する際に、引数として様々なスタイル属性を指定します。主な属性には、フォント名を設定するname
、サイズを指定するsize
、太字にするbold
、イタリック体にするitalic
、色を指定するcolor
などがあります。
セルへのフォントスタイルの適用
作成したFont
オブジェクトは、セルオブジェクトの.font
属性に代入することで、そのセルにスタイルとして適用されます。
以下の例では、新しいワークブックを作成し、セルA1
に「太字のArial」、セルB2
に「サイズ18のイタリック体」のスタイルをそれぞれ設定しています。
import openpyxl
from openpyxl.styles import Font
# 新しいワークブックを作成
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet.title = 'Style Examples'
# 1. 太字のArialフォントオブジェクトを作成
font_style_1 = Font(name='Arial', bold=True)
# A1セルに値を書き込み、フォントを適用
sheet['A1'] = 'Bold Arial Text'
sheet['A1'].font = font_style_1
# 2. サイズ18のイタリック体フォントオブジェクトを作成
font_style_2 = Font(size=18, italic=True, color='0000FF') # 青色
# B2セルに値を書き込み、フォントを適用
sheet['B2'] = 'Large Italic Blue Text'
sheet['B2'].font = font_style_2
# 変更をファイルに保存
workbook.save('styled_workbook.xlsx')
print("styled_workbook.xlsx を保存しました。")
このスクリプトを実行すると、styled_workbook.xlsx
というExcelファイルが作成され、各セルに指定されたフォントスタイルが適用されていることを確認できます。
まとめ
openpyxl
でセルのフォントを装飾するには、Font
オブジェクトに必要なスタイル情報を設定し、それを対象セルの.font
属性に代入します。この手順により、プログラムで生成するExcelレポートやデータの見た目を、目的に応じて自動的に整えることが可能です。