python在excel中批量写入图片

先手动生成一个excel文档,准备好图片文件夹的路径,使用以下代码将图片逐一插入excel。

注意:生成的图片是悬浮在excel中。若要把图片都嵌入excel中,请看下一篇博客。

from PIL import Image
import os
import xlwings as xw
# app=xw.App(visible=True,add_book=False)

wb = xw.Book(r'D:\XXXX.xlsx')

#居中 插入
import os
sht = wb.sheets['sheet1']

def write_pic(cell,filename):
    
    print(path)
    img = Image.open(filename).convert("RGB")
    print(img.size)
    w, h = img.size
    x_s = 250 # 设置宽
    y_s = h * x_s / w  #  等比例设置高
    sht.pictures.add(filename, left=sht.range(cell).left, top=sht.range(cell).top, width=x_s, height=y_s)


if __name__ == '__main__':
    index = 0
    path = r'D:\XXX'
    for root,dirs,files in os.walk(path):
        for name in files:
            index = index +1
            filename = root+'\\'+name
            cell="A"+str(index+2)
            try:
                write_pic(cell,filename)
            except:
                print("没有找到图片")
            #break
    wb.save()

 

posted @ 2021-11-08 11:36  草莓干123456  阅读(2062)  评论(0编辑  收藏  举报