import io
from urllib.request import urlopen
from executor import quote
from flask import send_file
import xlsxwriter
from io import BytesIO
output = BytesIO()
workfile = xlsxwriter.Workbook(output, {'in_memory': True}) # 创建Excel文件,不保存,直接输出
worksheet = workfile.add_worksheet('test1') # 创建工作表
# 从远端URL读取图片。
url = 'http://www.xxxx.com/1234.JPG'
image_data = io.BytesIO(urlopen(url).read())
# 向单元格写入字节流图片。注意,文件名必须显式指定。在这个例子中文件名会从URL字符串读取。
worksheet.insert_image('B2', url, {'image_data': image_data})
workfile.close()
output.seek(0)
filename = quote('图片导出.xlsx')
rv = send_file(output, as_attachment=True, attachment_filename=filename)
rv.headers['Content-Disposition'] += "; filename*=utf-8''{}".format(filename)
# rv = make_response(output.getvalue())
# output.close()
# mime_type = mimetypes.guess_type('user_detail.xlsx')[0]
# rv.headers['Content-Type'] = mime_type
# rv.headers["Cache-Control"] = "no-cache"
# rv.headers['Content-Disposition'] = 'attachment; filename=user_detail.xlsx'
return rv
python3+xlsxwriter+flask 导出 远端url图片excel
最新推荐文章于 2023-05-26 10:23:08 发布