小编kjs*_*fld的帖子

使用 openpyxl 将图像插入 Excel

我的电脑崩溃了,所以我不得不重新安装我所有的库;完成安装后,我意识到一些库更新到了新版本,我的代码不再有效(由于 openpyxl 的新版本)。

我正在尝试将图像插入 Excel 文件,但我不明白发生的错误消息。其他问题似乎是针对旧版本的 openpyxl(我的原始代码对其有效),但不适用于当前版本的 openpyxl。感谢您帮助我了解如何修复我的代码。:)

原始代码(有效):

import openpyxl
wb = openpyxl.load_workbook(filename)
ws = wb.get_sheet_by_name(sheet_name)
img = openpyxl.drawing.image.Image(img_name)
img.anchor(ws['D2'])
ws.add_image(img)
wb.save(filename)
Run Code Online (Sandbox Code Playgroud)

当前代码(不起作用):

import openpyxl
wb = openpyxl.load_workbook(filename)
ws = wb[sheet_name]
img = openpyxl.drawing.image.Image(img_name)
img.anchor(ws.cell(row=2,column=4))
ws.add_image(img)
wb.save(filename)
Run Code Online (Sandbox Code Playgroud)

错误信息:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-5-9efc1289cc73> in <module>()
----> 1 img.anchor(ws.cell(row=2,column=4))

TypeError: 'str' object is not callable
Run Code Online (Sandbox Code Playgroud)

任何提示?

谢谢

编辑:显然, img.anchor 现在是字符串;我不知道它曾经是什么,但显然不是字符串(因为没有错误消息。现在更改为以下内容会设置锚点,但我收到一条不同的错误消息。

设置锚点:

img.anchor = ws.cell(row=2,column=4)
ws.add_image(img)
Run Code Online (Sandbox Code Playgroud)

但是现在尝试保存时崩溃:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-13-2cfd938ccf60> in <module>()
      1 …
Run Code Online (Sandbox Code Playgroud)

python-3.x openpyxl insert-image

4
推荐指数
1
解决办法
6480
查看次数

标签 统计

insert-image ×1

openpyxl ×1

python-3.x ×1