ITPub博客

首页 > 数据库 > 数据库开发技术 > Python实现把图片插入到excel指定单元格

Python实现把图片插入到excel指定单元格

原创 数据库开发技术 作者:阿黎逸阳的代码 时间:2023-12-30 17:05:00 0 删除 编辑

公众号的小伙伴在群里问,把图片插入到excel中一直浮在表面,没有嵌入到单元格中,要怎么解决?

研究后发现有两种解决思路,一种是调整单元格和图片大小,使两者相适应。

另一种是把图片变成超链接,在单元格中放入图片超链接。

本文详细阐述第一种,后续再跟大家同步第二种方法。

本文目录
  1. 生成要保存的图片

  2. 把图片插入excel中

  3. 调整单元格和图片大小,让图片嵌入单元格


一、生成要保存的图片

首先生成要保存的图片,代码如下:

import osimport numpy as npimport pandas as pdfrom scipy import statsfrom matplotlib.pyplot import *import matplotlib.pyplot as plt
os.chdir(r'F:\公众号\90_python插入图片到excel') plt.rcParams['font.sans-serif'] = ['SimHei'] # 解决标题中文显示问题plt.rcParams['axes.unicode_minus'] = False # 解决标题中文显示问题
#生成公司员工薪资数据salary = [2500, 3100, 3300, 3500, 4000, 5400, 5600, 6700, 7600, 7800, 8700, 9800, 10400]fig = plt.figure()ax = fig.add_subplot(111)#创建图形numBins = [0,4000,6000,10000]#直方图的分割区间ax.hist(salary, numBins, rwidth=0.9, density=True)plt.title(u'公司员工薪水直方图')#绘制标题plt.xlabel(u'薪资区间')#横坐标标题plt.ylabel(u'人数')#纵坐标标题#plt.show()plt.savefig('cs.png')

得到结果:


二、把图片插入excel中

接着把图片普通插入到excel中,代码如下:

import openpyxl  from openpyxl.drawing.image import Image  from PIL import Image as PILImage 
# 打开Excel工作簿 workbook = openpyxl.Workbook() sheet = workbook.active # 读取图片文件 img = PILImage.open('cs.png') # 将图片保存到Excel工作表中(A1单元格) sheet.add_image(Image('cs.png'), 'A1') # 保存Excel工作簿 workbook.save('cs1.xlsx')

得到结果:

可以发现图片确实浮在表面。



三、调整单元格和图片大小让图片嵌入单元格

最后调整单元格和图片的大小,让图片嵌入单元格,具体代码如下:

img.width = 200             #设置图片宽度img.height = 100            #设置图片高度# 打开Excel工作簿  workbook = openpyxl.Workbook()  act_sheet = workbook.active  act_sheet.row_dimensions[1].height = 80      #设置行高act_sheet.column_dimensions['A'].width = 30  #设置列宽act_sheet.add_image(img, 'A1')workbook.save('cs3.xlsx')workbook.close()

得到结果:

其中图片的宽度和高度可以根据需要调整img.width和img.height参数值。

row_dimensions[1]表示设置第1行,column_dimensions['A']表示设置第A列。

至此,Python实现把图片插入到excel指定单元格中已讲解完毕,如想了解更多学习Python内容,可以翻看公众号中“学习Python”模块相关文章。

【部分群限时免费进】分群讨论学习Python【29.9元进】、玩转Python、风控建模【29.9元进】、人工智能、数据分析相关问题,还提供练习数据资料、招聘内推信息、优秀文章、学习视频、公众号文章答疑,也可交流工作中遇到的难题。如需添加微信号19967879837,加时备注想进的群,比如人工智能学习。

往期回顾:

一文囊括Python中的函数,持续更新。。。

一文囊括Python中的有趣案例,持续更新。。。

一文囊括Python中的数据分析与绘图,持续更新。。。

一文囊括风控模型搭建(原理+Python实现),持续更新。。。



限时免费加群

19967879837

添加微信号、手机号

原文作者:阿黎逸阳的代码;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-02-15

  • 博文量
    282
  • 访问量
    130906