前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-Excel-openpyxl-06-插入图片

Python-Excel-openpyxl-06-插入图片

作者头像
zishendianxia
发布2019-10-23 17:40:04
4.8K0
发布2019-10-23 17:40:04
举报
文章被收录于专栏:Python工程师Python工程师

系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 openpyxl:2.6.2

  • 这个系列讲讲PythonExcel的操作
  • 使用openpyxl模块
  • 今天讲讲在Excel中插入图片

Part 1:示例

  1. A1单元格插入一张图片
  2. 改变K1单元格行高和列宽
  3. 修改图片宽度、高度
  4. 插入图片到K1单元格
  5. 尴尬的是,没有达到想要的结果,图片过于小

执行结果

K1高度

K1宽度

Part 2:代码

代码语言:javascript
复制
from openpyxl import load_workbook
from openpyxl.drawing.image import Image

excel_address = r"E:\Coding\E_PythonWriting\Excel\openpyxl示例_6.xlsx"
wb = load_workbook(excel_address)
sht = wb.worksheets[0]

img_address_1 = r"E:\Coding\E_PythonWriting\Excel\1.png"
img = Image(img_address_1)
sht.add_image(img, 'A1')

sht.column_dimensions['K'].width = 20.0
sht.row_dimensions[1].height = 40.0

img_address_2 = r"E:\Coding\E_PythonWriting\Excel\1.png"
img = Image(img_address_2)
img.width = 19.0
img.height = 39.0

sht.add_image(img, 'K1')

wb.save(excel_address)

代码

Part 3:部分代码解读

  1. sht.column_dimensions['K'].width = 20.0设置列宽,从最终结果来看,数值有些许偏差
  2. sht.row_dimensions[1].height = 40.0设置行高,从最终结果来看,数值是准确的
  3. 插入图片
    • 先建立一个Image对象
    • 再使用该方法sht.add_image(img, 'K1')
  4. 因为图片大小不按预想的变化,所以该方法也是有点鸡肋

Ps:综上来看,pywin32可能功能更全面一点,但是从实际案例中,似乎openpyxl处理速度更快

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python工程师 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Part 1:示例
  • Part 3:部分代码解读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档