1. 程式人生 > >向excel裡面插入網路圖片

向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')

結果如下圖所示: