向excel里面插入网络图片

        今天研究的是向excel里面插入网络图片。不是将网络图片保存到本地,再完成插入操作。这里直接是通过网络图片的数据流转化为可以操作的image对象,直接插入到Excel表的A1单元格里面,并且调整单元格A1的行高和列宽以适应图片。

# -*- coding: utf-8 -*-
"""
Created on Thu Aug  2 20:50:49 2018

@author: FanXiaoLei
"""
from openpyxl.drawing import image
import requests
from openpyxl import Workbook
image_bytes=requests.get('https://images2015.cnblogs.com/blog/1135581/201704/1135581-20170407154037347-2055197925.png').content
data_stream=image.BytesIO(image_bytes)
im=image.Image(data_stream)
wb=Workbook()
ws=wb.active
#设置单元格的行高列宽
c=ws.column_dimensions['A']
#设置行高列宽公式里面的96为图片的水平和垂直分辨率。即所谓的dpi。
c.width=im.width*12/96
r=ws.row_dimensions[1]
r.height=im.height*72/96
ws.add_image(im,'A1')
wb.save('demo.xlsx')

结果如下图所示:

猜你喜欢

转载自blog.csdn.net/qq_24499417/article/details/81460642