Python(Openpyxl) Excelに複数画像を一括挿入する

Excelに複数画像を一括挿入-アイキャッチ Python

Pythonで、Excelに複数画像を一括挿入する方法をご紹介します。

Excelに複数画像を一括挿入

以下のプログラムを実行すると、エクセルに画像をまとめて挿入します。


import openpyxl
from openpyxl.drawing.image import Image
import os

#画像挿入するエクセルファイルを指定
wb = openpyxl.load_workbook('C:/Users/admin/Desktop/テスト/test.xlsx')
ws = wb["Sheet1"]

#貼り付け開始セル
Mycell = 1

#フォルダ内にあるファイル取得
files = os.listdir("C:/Users/admin/Desktop/テスト")
mypath = "C:/Users/admin/Desktop/テスト/"

#ファイルをループ
for filename in files:

    #pngファイルだったら
    if filename[-3:]=="png":

        #挿入する画像
        img = Image(mypath + filename)

        #リサイズ
        img.width = 80
        img.height = 80

        #指定位置に画像挿入
        ws.add_image(img, 'B'+ str(Mycell))

        #次の貼り付け開始セル
        Mycell = Mycell+5

#別名保存
wb.save('C:/Users/admin/Desktop/テスト/画像挿入.xlsx')

 

コード実行前

あらかじめ以下を準備します。
・画像を挿入するExcelファイル
・画像ファイル


 

コード実行後

[wb] で指定したエクセルファイルが別名で保存されます。


 

エクセルファイルの「Sheet1」の指定セルから、複数の画像を挿入していきます。

1つの画像を貼り付けたあと、次の画像は5個下のセルから貼り付けします。


 
 
動作環境
Python 3.7.4
openpyxl 3.0.5

この記事がお役に立ちますと幸いです。
 
・【Python】エクセルを自動処理する方法まとめ
 

【Python】エクセル処理を自動化:超便利55選
...

 

「PythonでExcel、メール、Webを自動化する本」

準備に時間をかけず、すぐ始められます
実践的な例題で、実務で本当に使えるプログラムを紹介
自分の仕事を効率化したい方の大きな武器になるオススメの1冊です!