Excel 中的图片可增强数据可视化,能直观有效的传达信息。除了使用 Spire.XLS for Python 在 Excel 中插入/删除图片外,您还可以使用该库将现有图片替换为新图片,或提取图片以供重复使用或备份。本文将演示如何使用 Python 替换或提取 Excel 中的图片。
安装 Spire.XLS for Python
此教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.XLS-for-Python
如果您不确定如何安装,请参考: 如何在 Windows 中安装 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 天的临时许可证。