openpyxl 以及 openpyxl_image_loader,conda或者pip无法安装的话,官网下载whl,然后pip安装本地包
【注意】:图片必须在单元格内,不能压过单元格边界
from openpyxl import load_workbook
from openpyxl_image_loader import SheetImageLoader
path = r'C:/Users/an/Desktop/guang2/' # Excel文件路径
saveDir = "C:/Users/an/Desktop/guang2/tu/" # 图片存储路径
wb = load_workbook(path + 'a.xlsx') # Excel文件名
ws = wb['Sheet1']
image_loader = SheetImageLoader(ws)
num = ws.max_row # 总行数,我也不知道为什么是row
for i in range(2, num+1): # 从第2行开始,总行数要+1
try:
name = ws['A'+str(i)].value # A列的文件名
# print(i)
image = image_loader.get('C'+str(i)) # C列的图片
image.save(saveDir + name + ".jpg") # 以Ai为名,存图片Ci
# 排除没有图片,或图片超出单元格的情况
except ValueError:
print("caonm这一行没有图片:" ,i)
''' 测试 image=image_loader.get('C2') # 提取C2中的图片 image.show() '''
感谢,参考文章:
自动化办公 | 快速从Excel中提取图片并匹配命名
python – 使用python从Excel文件中提取图像
关键词:提取Excel中的图片、按列存储