You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python openpyxl获取Excel内图片数据报错,如何复制内部图片?

问题解决:openpyxl复制Excel内部图片报错处理

问题原因

你调用img_obj.image或img_obj.image_data时出现报错,是因为openpyxl中ws._images返回的Image对象本身就是可直接用于插入的图片对象,它并没有image或image_data这些属性。你错误尝试访问不存在的属性,导致了AttributeError。

修正后的代码

直接使用从_images中获取的Image对象调用add_image,即可完成内部图片的复制:

import openpyxl as op

path = r"D:\input"
wb = op.load_workbook(path + "/test.xlsx")
ws = wb.active 

# 获取第一个内部图片对象
img_obj = ws._images[0]
# 直接插入到目标单元格D6
ws.add_image(img_obj, "D6")

# 保存修改后的工作簿
wb.save(path + "/modified_test.xlsx")

额外说明

  • 若需要复制多个内部图片,遍历ws._images列表即可,每个元素都是可用的图片对象。
  • _images是openpyxl的私有属性,当前3.1.2版本可正常使用,但后续版本可能存在变动,使用时注意版本兼容性。

内容的提问来源于stack exchange,提问作者Richard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 15:37:02