Excel フォーマットとレポート編集

Python × Excel で自動化

日付:2025年3月9日

Pythonのopenpyxlを使うと、Excel のフォーマット設定やレポートの自動作成が可能です。本記事では、セルのフォーマット変更、条件付き書式の適用、グラフの作成などを解説します。

目 次

1. はじめに

Python のopenpyxlを使うと、Excel のフォーマット設定やレポートの自動作成が可能です。
本記事では、セルのフォーマット変更、条件付き書式の適用、グラフの作成などを解説します。

2. 環境準備

openpyxlがインストールされていない場合、以下のコマンドでインストールしてください。

BASH
pip install openpyxl

3. Excel ファイルの基本フォーマット設定

3.1 セルのフォント・色・罫線の変更

PYTHON
from openpyxl import Workbook from openpyxl.styles import Font, PatternFill, Border, Side # 新規Excelファイルを作成 wb = Workbook() ws = wb.active # セルに値を入力 ws["A1"] = "タイトル" ws["A2"] = "データ" # フォントの設定 bold_font = Font(bold=True, size=14, color="FF0000") ws["A1"].font = bold_font # 背景色の設定 fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid") ws["A2"].fill = fill # 罫線の設定 thin_border = Border(left=Side(style="thin"), right=Side(style="thin"), top=Side(style="thin"), bottom=Side(style="thin")) ws["A1"].border = thin_border ws["A2"].border = thin_border # 保存 wb.save("formatted.xlsx")

実行結果

  • A1のフォントが赤く太字になり、サイズが 14 に変更
  • A2の背景色が黄色に変更
  • A1A2に罫線が適用

4. 条件付き書式の適用

条件に応じてセルの色を変更できます。

PYTHON
from openpyxl.formatting.rule import ColorScaleRule # 条件付き書式(値の大きさに応じた色の変化) color_rule = ColorScaleRule(start_type="min", start_color="FF9999", mid_type="percentile", mid_value=50, mid_color="FFFF99", end_type="max", end_color="99FF99") ws.conditional_formatting.add("B2:B10", color_rule) wb.save("formatted.xlsx")

実行結果

  • B2:B10 の値に応じて色がグラデーションで変化

5. グラフの作成と挿入

openpyxlを使って Excel にグラフを追加できます。

PYTHON
from openpyxl.chart import BarChart, Reference # データを入力 ws["A3"] = "商品" ws["B3"] = "売上" products = ["りんご", "みかん", "バナナ", "ぶどう", "もも"] sales = [100, 120, 80, 200, 150] for i, (product, sale) in enumerate(zip(products, sales), start=4): ws[f"A{i}"] = product ws[f"B{i}"] = sale # グラフの作成 chart = BarChart() data = Reference(ws, min_col=2, min_row=4, max_row=8) categories = Reference(ws, min_col=1, min_row=4, max_row=8) chart.add_data(data, titles_from_data=True) chart.set_categories(categories) chart.title = "売上グラフ" # グラフを挿入 ws.add_chart(chart, "D3") wb.save("formatted.xlsx")

実行結果

  • A4:B8 に商品名と売上データが追加
  • D3 に棒グラフが挿入

6. まとめ

  • openpyxlを使うと、フォントや色、罫線などのフォーマットを変更できる。
  • 条件付き書式を適用して、データの視認性を向上させられる。
  • Excel にグラフを追加して、視覚的なデータ分析が可能になる。

Excel のレポート作成を Python で自動化し、業務の効率化を進めましょう。

シリーズ一覧Python × Excel で自動化
4
タイトルリンク
第 1 回openpyxl & pandas 入門詳 細
第 2 回pandas でデータフレーム操作詳 細
第 3 回Excel フォーマットとレポート編集この記事
第 4 回Excel の自動化スクリプトを作成詳 細