excel 中的图片可增强数据可视化,能直观有效的传达信息。除了使用 spire.xls for python 在 excel 中插入/删除图片外,您还可以使用该库将现有图片替换为新图片,或提取图片以供重复使用或备份。本文将演示如何使用 python 替换或提取 excel 中的图片。
安装 spire.xls for python
此教程需要 spire.xls for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.xls-for-python
如果您不确定如何安装,请参考: 如何在 vs code 中安装 spire.xls for python
python 替换 excel 中的图片
要替换 excel 中的图片,可以加载一张新图片,然后将其设置为 excelpicture.picture 属性的值。以下是将 excel 中的图片替换为其他图片的详细步骤。
- 创建一个 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 使用 workbook.worksheets[] 属性获取指定的工作表。
- 使用 workbook.pictures[] 属性获取工作表中的指定图片。
- 加载一张图片,然后通过 excelpicture.picture 属性用其替换原始图片。
- 使用 workbook.savetofile() 方法保存结果文件。
- python
from spire.xls import *
from spire.xls.common import *
# 创建workbook对象
workbook = workbook()
# 加载一个excel文件
workbook.loadfromfile ("示例.xlsx")
# 获取第一张工作表
sheet = workbook.worksheets[0]
# 获取工作表中的第一张图片
excelpicture = sheet.pictures[0]
# 使用新图片替换该图片
excelpicture.picture = image.fromfile("图标.png")
# 保存结果文件
workbook.savetofile("替换excel图片.xlsx", excelversion.version2016)
python 提取 excel 中的图片
spire.xls for python 提供 excelpicture.picture.save() 方法可将 excel 中的图片保存到指定的文件路径。以下是一次性提取 excel 工作表中所有图片的详细步骤。
- 创建一个 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 使用 workbook.worksheets[] 属性获取指定的工作表。
- 遍历工作表中的所有图片,并使用 workheet.pictures 属性获取这些图片。
- 使用 excelpicture.picture.save() 方法提取图片并保存到指定的文件路径。
- python
from spire.xls import *
from spire.xls.common import *
# 创建workbook对象
workbook = workbook()
# 加载一个excel文件
workbook.loadfromfile("测试1.xlsx")
# 获取第一张工作表
sheet = workbook.worksheets[0]
# 获取工作表中的所有图片
for i in range(sheet.pictures.count - 1, -1, -1):
pic = sheet.pictures[i]
# 将每张图片保存为一个png文件
pic.picture.save("提取图片\\图-{0:d}.png".format(i), imageformat.get_png())
workbook.dispose()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。