Excel 中的图片能增强电子表格效果使其具有视觉吸引力。无论您想插入徽标、图表、示意图或任何其他图形元素,Excel 都能将图像无缝集成到工作表中。此外,Excel 还提供了操作和组织图片的选项,允许您根据需要调整图片大小、移动或删除图片。本文将演示如何使用 Spire.XLS for Python 通过 Python 在 Excel 中插入或删除图片。
安装 Spire.XLS for Python
此教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.XLS
如果您不确定如何安装,请参考: 如何在 Windows 中安装 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 天的临时许可证。