向excel裡面插入網路圖片
阿新 • • 發佈:2018-11-16
今天研究的是向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')
結果如下圖所示: