excel 中的图片能增强电子表格效果使其具有视觉吸引力。无论您想插入徽标、图表、示意图或任何其他图形元素,excel 都能将图像无缝集成到工作表中。此外,excel 还提供了操作和组织图片的选项,允许您根据需要调整图片大小、移动或删除图片。本文将演示如何使用 spire.xls for python 通过 python 在 excel 中插入或删除图片。
安装 spire.xls for python
此教程需要 spire.xls for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.xls
如果您不确定如何安装,请参考: 如何在 vs code 中安装 spire.xls for python
python 在特定 excel 单元格中插入图片
要在某个单元格中添加图片,可以使用 worksheet.pictures.add(int toprow, int leftcolumn, image image) 方法。具体步骤如下:
- 创建一个 workbook 类的对象。
- 通过 workbook.worksheets[sheetindex] 属性获取特定工作表。
- 使用 worksheet.pictures.add() 方法在特定单元格中插入图片,并返回一个 excelpicture 对象。
- 通过 excelpicture 对象下的属性设置图片的宽度和高度,以及图片与单元格边框之间的距离。
- 使用 workbook.savetofile() 方法保存结果文件。
- python
from spire.xls import *
from spire.xls.common import *
# 创建workbook对象
workbook = workbook()
# 获取第一张工作表
sheet = workbook.worksheets[0]
# 在特定单元格中添加图片
imgpath = "img.jpg"
picture = sheet.pictures.add(1, 3, imgpath)
# 设置图片宽度和高度
picture.width = 150
picture.height = 150
# 调整列宽和行高,使单元格能容纳图片
sheet.columns[2].columnwidth = 25
sheet.rows[0].rowheight = 135
# 设置单元格边框与图片之间的距离
picture.leftcolumnoffset = 90
picture.toprowoffset = 20
# 保存结果文件
workbook.savetofile("output/添加图片.xlsx", excelversion.version2013)
workbook.dispose()
python 删除 excel 工作表中的图片
worksheet.pictures[imgindex].remove() 方法可删除 excel 工作表中的指定图片。要删除所有图片,使用 for 循环遍历工作表中的图片。具体步骤如下:
- 创建一个 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 通过 workbook.worksheets[sheetindex] 属性获取特定工作表。
- 使用 worksheet.pictures[imgindex].remove() 方法删除工作表中的图片。
- 使用 workbook.savetofile() 方法保存结果文件。
- python
from spire.xls import *
from spire.xls.common import *
# 创建workbook对象
workbook = workbook()
# 加载excel文件
workbook.loadfromfile("output\\users\\administrator\\desktop\\示例.xlsx")
# 获取第一张工作表
sheet = workbook.worksheets[0]
# 删除工作表中的所有图片
for i in range(sheet.pictures.count - 1, -1, -1):
sheet.pictures[i].remove()
# 删除指定图片
# sheet.pictures[imgindex].remove()
# 保存结果文件
workbook.savetofile("output/删除图片.xlsx", excelversion.version2013)
workbook.dispose()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。