Python 在Excel中插入、替换、提取、或删除图片

打印 上一主题 下一主题

主题 837|帖子 837|积分 2511

Excel是主要用于处理表格和数据的工具,我们也能在其中插入、编辑或管理图片,为工作表增加视觉结果,提升陈诉的吸引力。本文将详细先容如何利用Python操作Excel中的图片,包罗以下4个底子示例:

  • Python 在Excel中插入图片
  • Python 替换Excel中的图片
  • Python 提取Excel中的图片
  • Python 删除Excel中的图片
起首必要安装第三方Python库- Spire.XLS for Python。可以下载产品后再从本地路径安装利用,也可以直接利用以下pip命令安装:
pip install Spire.XLS
 
Python 在Excel中插入图片

我们可以利用Spire.XLS for Python库在指定单元格中插入图片,并设置图片大小等。操作如下:

  • 创建工作簿Workbook对象并获取指定工作表;
  • 利用Worksheet.Pictures.Add(int topRow, int leftColumn, Image image)方法在工作表指定单元格中插入图片;
  • 通过ExcelPicture类下的各属性设置图片的宽度、高度、与单元格边框的距离等;
  • 利用SaveToFile()方法保存Excel文件。
示例代码:
  1. from spire.xls import *
  2. from spire.xls.common import *
  3.      
  4. # 创建Workbook对象
  5. workbook = Workbook()
  6. # 获取第一张工作表
  7. sheet = workbook.Worksheets[0]
  8. # 在指定单元格中插入图片(此处为第一行第二列,即B1单元格)
  9. picture = sheet.Pictures.Add(1, 2, "示例.png")
  10. # 设置图片宽高度
  11. picture.Width = 120
  12. picture.Height = 120
  13. # 调整图片所在位置的列宽和行高
  14. sheet.Columns[1].ColumnWidth = 20
  15. sheet.Rows[0].RowHeight = 110
  16. # 设置单元格边框与图片之间的距离
  17. picture.LeftColumnOffset = 90
  18. picture.TopRowOffset = 20
  19. # 保存文件
  20. workbook.SaveToFile("插入图片.xlsx", ExcelVersion.Version2016)
  21. workbook.Dispose()
复制代码

 
Python 替换Excel中的图片

要用新图片替换Excel中的原有图片,可以参考如下步骤:

  • 加载Excel文件,并获取指定工作表;
  • 通过Worksheet.Pictures[]属性获取指定图片;
  • 加载新图,并通过ExcelPicture.Picture属性将指定图片替换为新图;
  • 利用SaveToFile()方法保存Excel文件。
示例代码:
  1. from spire.xls import *
  2. from spire.xls.common import *
  3. # 加载Excel文档
  4. workbook = Workbook()
  5. workbook.LoadFromFile ("插入图片.xlsx")
  6. # 获取第一张工作表
  7. sheet = workbook.Worksheets[0]
  8. # 获取工作表中第一张图片
  9. excelPicture = sheet.Pictures[0]
  10.             
  11. # 替换图片
  12. excelPicture.Picture = Image.FromFile("pic.jpg")
  13. # 保存文档
  14. workbook.SaveToFile("替换图片.xlsx", ExcelVersion.Version2016)
  15. workbook.Dispose()
复制代码

 
Python 提取Excel中的图片

Spire.XLS for Python库也可以读取Excel文档中的图片,并保存到指定的文件路径。步骤如下:

  • 加载Excel文件,并获取指定工作表;
  • 遍历工作表中的所有图片;
  • 调用ExcelPicture.Picture.Save()方法提取Excel中的图片。

示例代码:
  1. from spire.xls import *
  2. from spire.xls.common import *
  3. # 加载Excel文档
  4. workbook = Workbook()
  5. workbook.LoadFromFile("图标.xlsx")
  6. # 获取第一张工作表
  7. sheet = workbook.Worksheets[0]
  8. # 获取工作表中所有图片
  9. for i in range(sheet.Pictures.Count - 1, -1, -1):
  10.     pic = sheet.Pictures[i]
  11.     # 保存图片
  12.     pic.Picture.Save("提取图片\\图片-{0:d}.png".format(i), ImageFormat.get_Png())
  13. workbook.Dispose()
复制代码

 
Python 删除Excel中的图片

Worksheet.Pictures[imgIndex].Remove() 方法允许我们通过索引删除指定图片。要删除Excel中所有图片,可以遍历每张图片然后删除。示例代码如下:
  1. from spire.xls import *
  2. from spire.xls.common import *
  3. # 加载Excel文档
  4. workbook = Workbook()
  5. workbook.LoadFromFile("图标.xlsx")
  6. # 获取第一张工作表
  7. sheet = workbook.Worksheets[0]
  8. # 删除工作表中所有图片
  9. for i in range(sheet.Pictures.Count - 1, -1, -1):
  10.     sheet.Pictures[i].Remove()
  11. # 删除指定图片
  12. # sheet.Pictures[imgIndex].Remove()
  13. # 保存文档
  14. workbook.SaveToFile("删除图片.xlsx", ExcelVersion.Version2013)
  15. workbook.Dispose()
复制代码

 
上述示例能帮助掌握利用Python在Excel中插入、替换、删除图片的技巧,并举行一些基本的图片设置。如有题目,可前往论坛交换。
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

祗疼妳一个

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表