当前位置: 代码网 > it编程>前端脚本>Python > 通过Python在Excel中添加或删除图片的操作流程

通过Python在Excel中添加或删除图片的操作流程

2025年12月21日 Python 我要评论
引言在数据处理与办公自动化场景中,excel 文件常需嵌入图片以增强可视化表达。然而,手动添加或删除图片不仅效率低下,还容易出错。如何用 python 实现 excel 中图片的自动化管理?答案是:使

引言

在数据处理与办公自动化场景中,excel 文件常需嵌入图片以增强可视化表达。然而,手动添加或删除图片不仅效率低下,还容易出错。如何用 python 实现 excel 中图片的自动化管理?答案是:使用 free spire.xls for python 免费库。

本文将系统介绍如何通过 python 代码,在 excel 文件中添加图片删除图片,并提供完整示例与操作流程。内容基于真实可用的技术方案,适用于数据分析师、自动化工程师及办公自动化爱好者。

为什么选择 python + free spire.xls?

在众多 python 库中,如 pandasopenpyxl 等,虽然能处理 excel 表格结构,但对图片操作支持有限。例如:

  • openpyxl 只能读写单元格内容,无法直接操作图片。
  • xlwings 虽可调用 excel 界面,但依赖运行环境,不适用于脚本自动化。

相比之下,free spire.xls for python 是一款专为处理 excel 文件设计的跨平台库,支持图片的添加、删除、裁剪、格式调整等完整功能,且无需安装 excel,无需依赖 com 接口,完全在 python 环境中运行。

✅ 优势总结如下:

对比维度free spire.xls for pythonopenpyxl / xlwings
图片添加支持✅ 支持❌ 仅支持单元格内容
图片删除支持✅ 支持❌ 无直接接口
无需 excel 运行✅ 支持❌ 需excel环境
脚本自动化✅ 高效⚠️ 依赖外部环境

说明:free spire.xls for python 支持 .xlsx 和 .xls 格式,但有篇幅限制,适用于小型文档。

python 添加图片到 excel 中的完整流程

步骤1:安装库

pip install spire.xls.free

步骤2:代码示例 — 将图片添加到指定单元格位置

该场景适用于图片需与单元格内容对齐的情况(如报表中图片对应某行数据),核心是通过 worksheet.pictures.add() 指定图片路径和目标单元格。

from spire.xls import *
from spire.xls.common import *
     
# 创建工作簿对象
workbook = workbook()

# 获取第一个工作表
sheet = workbook.worksheets[0]

# 添加图片到工作表指定单元格
imgpath = "logo.png"
picture = sheet.pictures.add(1, 3, imgpath)

# 调整单元格大小以容纳图片
sheet.columns[2].columnwidth = 25
sheet.rows[0].rowheight = 135

# 保存文件
workbook.savetofile("insertimage.xlsx", excelversion.version2013)
workbook.dispose()

扩展技能:自定义图片位置和尺寸添加

若需精确控制图片的坐标和宽高,可通过 excelpicture 提供的 leftcolumnoffset / toprowoffset / width / height 属性设置:

from spire.xls import *
from spire.xls.common import *

# 创建工作簿对象
workbook = workbook()

# 获取第一个工作表
sheet = workbook.worksheets[0]

# 添加图片到工作表指定单元格
imgpath = "logo.png"
picture = sheet.pictures.add(1, 3, imgpath)

# 自定义图片位置
picture.leftcolumnoffset = 90 # 左侧偏移90
picture.toprowoffset = 20 # 顶部偏移20

# 自定义图片尺寸
picture.width = 150
picture.height = 150

# 保存文件
workbook.savetofile("add_custom_size_image.xlsx", excelversion.version2016)
workbook.dispose()

通过 python 删除 excel 中图片的实现方法

free spire.xls for python 支持按索引删除指定图片或批量删除所有图片,以下是具体实现。

场景 1:删除指定位置的图片

工作表中的图片以列表形式存储在 pictures 属性中,可通过索引(从 0 开始)定位并删除:

from spire.xls import *
from spire.xls.common import *

# 加载 excel 文件
workbook = workbook()
workbook.loadfromfile("insertimage.xlsx")

# 获取第一个工作表
sheet = workbook.worksheets[0]

# 删除工作表中第一张图片
sheet.pictures[0].remove()

# 保存文件
workbook.savetofile("deleteimage.xlsx", excelversion.version2013)
workbook.dispose()

删除工作表中所有图片

通过遍历 pictures 列表,批量删除所有图片:

from spire.xls import *
from spire.xls.common import *

# 加载 excel 文件
workbook = workbook()
workbook.loadfromfile("insertimage.xlsx")

# 获取第一个工作表
sheet = workbook.worksheets[0]

# 删除工作表中所有图片
for i in range(sheet.pictures.count - 1, -1, -1):
    sheet.pictures[i].remove()

# 保存文件
workbook.savetofile("deleteallimage.xlsx", excelversion.version2013)
workbook.dispose()

提示:删除后,单元格将恢复为纯文本或空白。

实际应用场景与建议

场景推荐操作
数据报告生成自动添加图表或截图
项目进度可视化在任务表中嵌入进度图
采购单/合同文件处理添加公司 logo 或审批页图片
自动化审计流程删除旧版本中的冗余图片

free spire.xls for python 为 python 开发者提供了轻量、免费的 excel 图片操作方案,无需依赖 microsoft excel 即可完成图片的添加(指定单元格 / 自定义尺寸)和删除(指定图片 / 批量删除)。其优势在于跨平台兼容性和简洁的 api 设计,在实际应用中,可结合批量文件遍历等逻辑,进一步扩展功能,提升 excel 处理的自动化效率。

以上就是通过python在excel中添加或删除图片的操作流程的详细内容,更多关于python excel添加或删除图片的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com