記事内に広告が含まれています。

openpyxlを使ったスタイルの設定方法:文字色、背景色、フォントなど【Python】

python-openpyxl-style IT
IT

Excelファイルを扱う際に、見た目を整えることは非常に重要です。
openpyxlを使用すると、セルのフォント、色、罫線、条件付き書式など、多彩なスタイル設定が可能です。

本記事では、openpyxlを使ってExcelファイルのスタイルを設定する方法について、初心者向けに詳しく解説します。

スポンサーリンク
     

openpyxlのインストール

まずは、openpyxlをインストールしましょう。Pythonのパッケージマネージャであるpipを使って簡単にインストールできます。

pip install openpyxl

フォントの設定・変更

フォントを設定することで、セル内のテキストの見た目をカスタマイズできます。
ここでは、フォントの種類、サイズ、色、太字、斜体、下線などの設定方法を紹介します。

from openpyxl import Workbook
from openpyxl.styles import Font

# 新しいワークブックを作成
wb = Workbook()
ws = wb.active

# フォントを設定
font_style = Font(name='Arial', size=14, bold=True, italic=True, color='FF0000', underline='single')

# フォントをセルに適用
ws['A1'].font = font_style
ws['A1'] = "Styled Font"

# ファイルを保存
wb.save("styled_font.xlsx")

このコードを実行すると、
「styled_font.xlsx」ファイルの「A1」セルにArialフォントで、14ポイント、太字、斜体、赤色、下線付きのテキストが設定されます。

     

文字色の設定・変更

文字色を変更することで、セルの内容を強調することができます。以下は、文字色を変更する方法の例です。

from openpyxl.styles import Font

# 新しいワークブックを作成
wb = Workbook()
ws = wb.active

# 文字色を設定
red_font = Font(color='FF0000')

# 文字色をセルに適用
ws['H2'].font = red_font
ws['H2'] = "Red Text"

# ファイルを保存
wb.save("text_color.xlsx")

このコードを実行すると、
「text_color.xlsx」ファイルの「H2」セルに赤色のテキストが設定されます。

セルの背景色を設定・変更

セルの背景色を設定することで、特定のセルを強調表示できます。

from openpyxl.styles import PatternFill

# 背景色を設定
fill = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')

# 背景色をセルに適用
ws['B2'].fill = fill
ws['B2'] = "Yellow Background"

# ファイルを保存
wb.save("background_color.xlsx")

このコードを実行すると、「background_color.xlsx」ファイルの「B2」セルに黄色の背景色が設定されます。

     

罫線の設定・変更

罫線を設定することで、セルの区切りを明確にし、表の見やすさを向上させることができます。

from openpyxl.styles import Border, Side

# 罫線を設定
thin_border = Border(left=Side(style='thin'),
                     right=Side(style='thin'),
                     top=Side(style='thin'),
                     bottom=Side(style='thin'))

# 罫線をセルに適用
ws['C3'].border = thin_border
ws['C3'] = "Thin Border"

# ファイルを保存
wb.save("borders.xlsx")

このコードを実行すると、「borders.xlsx」ファイルの「C3」セルに薄い罫線が設定されます。

数字フォーマットの設定・変更

数字フォーマットを設定することで、セルに入力された数値の表示形式をカスタマイズできます。

from openpyxl.styles import numbers

# 数字フォーマットを設定
ws['D4'].number_format = numbers.FORMAT_CURRENCY_USD_SIMPLE
ws['D4'] = 1234.56

# ファイルを保存
wb.save("number_format.xlsx")

このコードを実行すると、
「number_format.xlsx」ファイルの「D4」セルにドル通貨形式($1,234.56)で数値が表示されます。

     

列幅と行の高さの設定・変更

列幅や行の高さを調整することで、セルの内容が見やすくなります。

# 列幅を設定
ws.column_dimensions['E'].width = 30

# 行の高さを設定
ws.row_dimensions[5].height = 40

# データを入力
ws['E5'] = "Wide Column and Tall Row"

# ファイルを保存
wb.save("column_row_dimensions.xlsx")

このコードを実行すると、
「column_row_dimensions.xlsx」ファイルの「E」列の幅が30、「5」行の高さが40に設定されます。

条件付き書式の設定・変更

条件付き書式を使うことで、特定の条件に応じてセルのスタイルを自動的に変更できます。

from openpyxl.formatting.rule import ColorScaleRule

# 条件付き書式を設定
color_scale_rule = ColorScaleRule(start_type='percentile', start_value=0, start_color='FF0000',
                                  end_type='percentile', end_value=100, end_color='00FF00')

# 条件付き書式を適用
ws.conditional_formatting.add('F1:F10', color_scale_rule)

# データを入力
for i in range(1, 11):
    ws[f'F{i}'] = i * 10

# ファイルを保存
wb.save("conditional_formatting.xlsx")

このコードを実行すると、
「conditional_formatting.xlsx」ファイルの「F1」から「F10」セルに色のグラデーションが適用されます。

     

セルの結合

セルを結合することで、複数のセルを1つのセルとして扱うことができます。

# セルを結合
ws.merge_cells('G1:H1')
ws['G1'] = "Merged Cells"

# ファイルを保存
wb.save("merged_cells.xlsx")

このコードを実行すると、
「merged_cells.xlsx」ファイルの「G1」から「H1」セルが結合されます。

まとめ

openpyxlを使うことで、Excelファイルのスタイルを自由自在にカスタマイズできます。フォント、背景色、罫線、数字フォーマット、列幅、行の高さ、条件付き書式、セルの結合など、さまざまなスタイル設定を駆使して、見やすく美しいExcelファイルを作成しましょう。

さらに詳しい情報や追加の機能については、公式ドキュメントを参照してください。

公式ドキュメント: openpyxl documentation

\楽天ポイント5倍セール!/
楽天市場
\ポイント5%還元!/
Yahooショッピング