暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

python导出excel中所有图片(写入excel数据)

染卷 2020-04-14
1821

利用python3.7导出excel图片的教程网上很多都是搞解压那套,而且基本是复制的一模一样的教程,本例给出的图片导出源码转载自csdn。

  1. from PIL import ImageGrab

  2. import win32com.client as win32


  3. # 能把所有图片按原图象素导出来

  4. excel = win32.gencache.EnsureDispatch('Excel.Application')

  5. workbook = excel.Workbooks.Open(r'C:\\Users\\admin\\Desktop\\picexcel.xlsx')


  6. for sheet in workbook.Worksheets:

  7.    for i, shape in enumerate(sheet.Shapes):

  8.        if shape.Name.startswith('Picture'):

  9.            shape.Copy()

  10.            image = ImageGrab.grabclipboard()

  11.            image.save('{}.jpg'.format(i+1), 'jpeg')

  12. excel.Quit()


这是网上能找的最简单的使用python导出excel图片的教程了。下面介绍的另外一种方法,严格意义上来讲不是图片导出,而是将excel单元格直接复制为图片导出来,但是测试的时候只有在一张图的时候能成功,如果图片过多会导致从excel里面复制出的图片一模一样,尚未找到解决办法。

  1. import win32com.client as win32 # 打开excel文件

  2. #pip install pypiwin32

  3. #

  4. from PIL import ImageGrab   #用于获取复制的图片


  5. root_path = "C:\\Users\\ranjuan\\Desktop\\"

  6. excel = win32.Dispatch('Excel.Application') #获取Excel

  7. #excel.Visible = True

  8. wb = excel.Workbooks.Open(root_path+'商品示例.xlsx') # 打开excel文件

  9. ws = wb.Worksheets('Sheet1')        # 获取Sheet1


  10. score = [100,90,50,10,20,310,278,155,120,140,70,110,345,444]      # 需要写入excel的成绩数据

  11. # 遍历excel将数据写入单元格

  12. for i in range(2, len(score)+2):

  13.    Range = 'B' + str(i)    # B2到B8单元格

  14.    ws.Range(Range).Value = score[i-2]  # 写入值

  15. ws.Range('B1:K16').CopyPicture()    #将excel单元格B1:K16范围复制为图片

  16. ws.Paste(ws.Range('M1'))    # 将从excel选区复制的图片移动到M1

  17. new_shape_name = 'ranjuan'


  18. #***excel.Selection.ShapeRange.Name = new_shape_name***    # 选择区域重命名

  19. excel.Selection.ShapeRange.Name = new_shape_name



  20. ws.Shapes(new_shape_name).Copy()    # 复制移动的图片Picture 1

  21. img = ImageGrab.grabclipboard()  # 获取图片数据

  22. img.save(root_path + new_shape_name + '.png') # 图片另存为


  23. wb.SaveAs(root_path + 'copy.xlsx') # excel文件另存为copy.xlsx

  24. wb.Close()


新建excel需要填入初始数据,然后生成excel图表,之后才能使用python进行操作(将数据写入excel,柱状图发生变化,然后将指定的excel单元格区域复制为图片,并将图片进行保存),且此python程序依赖于电脑已安装excel软件, excel表格内容如下:



基于互联网精神,在注明出处的前提下本站文章可自由转载!

本文链接:https://ranjuan.cn/python-excel-savepic/


文章转载自染卷,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论