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

 更新时间:2025年12月21日 13:52:14   作者:咕白m625  
在数据处理与办公自动化场景中,Excel 文件常需嵌入图片以增强可视化表达,然而,手动添加或删除图片不仅效率低下,还容易出错,所以本文将系统介绍如何通过 Python 代码,在 Excel 文件中添加图片和删除图片,需要的朋友可以参考下

引言

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

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

为什么选择 Python + Free Spire.XLS?

在众多 Python 库中,如 pandas、openpyxl 等,虽然能处理 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添加或删除图片的资料请关注脚本之家其它相关文章!

相关文章

  • Python 马氏距离求取函数详解

    Python 马氏距离求取函数详解

    这篇文章主要为大家介绍了Python 马氏距离求取函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • 简单了解django缓存方式及配置

    简单了解django缓存方式及配置

    这篇文章主要介绍了简单了解django缓存概述及配置,由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,需要的朋友可以参考下
    2019-07-07
  • python将控制台输出保存至文件的方法

    python将控制台输出保存至文件的方法

    今天小编就为大家分享一篇python将控制台输出保存至文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 运行python脚本更改Windows背景

    运行python脚本更改Windows背景

    这篇文章主要介绍了运行python脚本更改Windows背景,使用常用的命令更改桌面背景,以更改ctype中的系统参数,下面来看看具体得更改过程吧
    2022-01-01
  • Python免登录实现域名解析的示例详解

    Python免登录实现域名解析的示例详解

    这篇文章主要介绍了如何利用编写python脚本,实现通过dnspod api获取个人域名内的dns解析记录,从而实现域名的解析、修改和删除,需要的可以参考一下
    2023-03-03
  • 使用Python实现向同一PDF添加附件与附件注释

    使用Python实现向同一PDF添加附件与附件注释

    在文档管理和报表生成中,将相关文件直接嵌入 PDF 可以大大提高信息整合度,让收件人无需额外查找即可访问所有资源,本文演示如何在 同一 PDF 文件中实现 直接添加附件和添加附件注释,希望对大家有所帮助
    2025-11-11
  • 在python中计算ssim的方法(与Matlab结果一致)

    在python中计算ssim的方法(与Matlab结果一致)

    这篇文章主要介绍了在python中计算ssim的方法(与Matlab结果一致),本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 使用Pytorch训练分类问题时,分类准确率的计算方式

    使用Pytorch训练分类问题时,分类准确率的计算方式

    这篇文章主要介绍了使用Pytorch训练分类问题时,分类准确率的计算方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • DataFrame 将某列数据转为数组的方法

    DataFrame 将某列数据转为数组的方法

    下面小编就为大家分享一篇DataFrame 将某列数据转为数组的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • pytorch简介

    pytorch简介

    Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。这篇文章给大家介绍pytorch的相关知识,感兴趣的朋友一起看看吧
    2020-11-11

最新评论