【完全ガイド】PythonでExcelのグラフを自動作成する方法|openpyxlとmatplotlibを組み合わせ

Pythonを使って、Excelのグラフを自動で作成したいと思ったことはありませんか?この記事では、openpyxlでExcelファイルを操作し、matplotlibでグラフを描画し、それを画像としてExcelに埋め込む方法をわかりやすく解説します。

この記事の内容

  • PythonでExcelを扱うための基本(openpyxl)
  • matplotlibでグラフを描画・保存する方法
  • 作成したグラフをExcelファイルに貼り付ける方法
  • 実行可能なサンプルコード付き

1. 使用ライブラリのインストール

以下のコマンドで必要なライブラリをインストールします。

pip install openpyxl matplotlib

2. matplotlibでグラフを作成して画像保存

import matplotlib.pyplot as plt

# サンプルデータ
x = [1, 2, 3, 4, 5]
y = [10, 15, 13, 17, 20]

# グラフ作成
plt.plot(x, y, marker='o')
plt.title("売上推移")
plt.xlabel("月")
plt.ylabel("売上")
plt.grid(True)

# 画像として保存
plt.savefig("chart.png")
plt.close()

このコードは、シンプルな折れ線グラフを「chart.png」という名前で保存します。

3. openpyxlでExcelにグラフ画像を貼り付ける

from openpyxl import Workbook
from openpyxl.drawing.image import Image

# 新しいExcelファイル作成
wb = Workbook()
ws = wb.active
ws.title = "グラフ付きデータ"

# グラフ画像を読み込み
img = Image("chart.png")

# 任意のセルに貼り付け
ws.add_image(img, "B2")

# 保存
wb.save("output_with_chart.xlsx")

これで、「output_with_chart.xlsx」にグラフ画像が貼り付けられたExcelファイルが作成されます。

4. よくあるエラーと対処法

  • Image file not found: → matplotlibで保存した画像ファイル名が間違っていないか確認しましょう
  • PermissionError: → Excelファイルが開いたままだと保存できません。事前に閉じておきましょう

5. まとめ

Pythonでは、matplotlibで美しいグラフを作成し、openpyxlでExcelに埋め込むことで、業務の自動化・効率化が可能です。手作業でグラフを作る手間を省きたい方におすすめです。

タイトルとURLをコピーしました