前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python实现把图片插入到excel指定单元格

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

作者头像
阿黎逸阳
发布2024-01-02 16:19:46
1.2K0
发布2024-01-02 16:19:46
举报

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

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

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

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

本文目录

  1. 生成要保存的图片
  2. 把图片插入excel中
  3. 调整单元格和图片大小,让图片嵌入单元格

一、生成要保存的图片

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

代码语言:javascript
复制
import os
import numpy as np
import pandas as pd
from scipy import stats
from 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中,代码如下:

代码语言:javascript
复制
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')

得到结果:

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

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

代码语言:javascript
复制
最后调整单元格和图片的大小,让图片嵌入单元格,具体代码如下:
代码语言:javascript
复制
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()
代码语言:javascript
复制
得到结果:其中图片的宽度和高度可以根据需要调整img.width和img.height参数值。
row_dimensions[1]表示设置第1行,column_dimensions['A']表示设置第A列。至此,Python实现把图片插入到excel指定单元格中已讲解完毕,如想了解更多学习Python内容,可以翻看公众号中“学习Python”模块相关文章。【部分群限时免费进】分群讨论学习Python【29.9元进】、玩转Python、风控建模【29.9元进】、人工智能、数据分析相关问题,还提供练习数据资料、招聘内推信息、优秀文章、学习视频、公众号文章答疑,也可交流工作中遇到的难题。如需添加微信号19967879837,加时备注想进的群,比如人工智能学习。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿黎逸阳的代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档