Flask中返回Excel的若干种方案

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

本文记录了Flask中返回Excel的常见方案。

from flask import Flask, send_from_directory, Response, make_response
import pandas as pd
import os
import mimetypes

app = Flask(__name__)

# 1. 方案一:以静态文件的形式返回
@app.route('/download_file/<path:filepath>/', methods=["GET"])
def download_file(filepath):
    return app.send_static_file(filepath)
    
# 2. 方案二:保存服务器,以文件的方式直接返回
@app.route('/download__xls', methods=["GET"])
def download_xls():
	return send_from_directory(directory='./', filename='1.xlsx', as_attachment=True)

# 3. 方案三:打开存储文件,以二进制流文件形式返回
@app.route('/download__xls', methods=["GET"])
def download_xls():
	results = open('./1.xlsx', 'rb').read()
   	return Response(results, mimetype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 
   					headers={"Content-Disposition": 'attachment; filename=sample.xlsx'})

# 4. 方案四:处理后直接以二进制流文件形式返回,不消耗本地存储空间。这里以pandas处理为例
@app.route('/download__xls', methods=["GET"])
def download_xls():
        bio = os.BytesIO()
        writer = pd.ExcelWriter(bio, engine='xlsxwriter')
		
		# 省略pandas处理结果,results为最后生成的dataframe对象
        results.to_excel(writer, sheet_name='结果汇总')
        writer.save()

        bio.seek(0)    # 文件指针
        rv = make_response(bio.getvalue())
        bio.close()

        # mime_type = mimetypes.guess_type(results)[0]  # 文件类型
        rv.headers['Content-Type'] = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
        rv.headers["Cache-Control"] = "no-cache"
        rv.headers['Content-Disposition'] = 'attachment; filename={}.xlsx'.format('Output')

        return rv
前后端结合 转base64 文件格式 office文档 文件后缀 前缀格式 .doc data:application/msword;base64, docx data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64, .xls data:application/vnd.ms-excel;base64, xlsx data:application/vnd.openxmlformats-officedocume 阅读详情

相关推荐

Flask 结合 pandas.DataFrame 输出文件(excel/csv)

Flask 是使用 Python 编写的一个轻量级web框架,使用 Flask 可以快速的搭建起一个网站,轻量级体现在框架提供了基础的应用框架(定义app、templates、Field等),其余目的的可以使用外部包达成。 pandas是基于 Numpy 的一种工具,该工具是为了解决数据分析而创建的,在 Numpy 的快速计算基础上增加了行和列名,可以读取文件、数据库数据并进行交互,**pandas.DataFrame** 是 pandas 中的一种表型数据结构。

飞羽的博客 9928

记录一次前端文件下载遇到的坑

糟心的事情真是

teng_zz的博客 1391

Python实现Excel工作表批量转图片的高效方案

办公自动化是现代数据处理的重要方向,其中Excel文件处理是常见需求。通过Python的openpyxl和Pillow等库,可以实现将Excel工作表批量转换为图片的技术方案。这种转换技术基于单元格内容解析和图像绘制原理,相比传统截图方式能保持更高精度和一致性。在报表生成、数据可视化分享等场景中,自动转换工具能显著提升工作效率。本文方案特别优化了大文件处理性能,并解决了中文乱码等常见问题,实测处理200MB文件仅需3分钟左右。结合xlwings库还能实现原样格式保持,满足财务报告等专业场景需求。

weixin_30294295的博客 312

Vue项目中excel表格文件的导入、导出

目录 使用到的一些构造函数、插件 FileReader Blob js-xlsx ElementUI组件库 导入的excel文件预览 导入文件不带自定义弹窗 导入文件带自定义弹窗 使用到的一些构造函数、插件 FileReader 链接:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader/FileReader Blob 链接:https://developer.mozilla.org/zh-CN/docs/

yun_huangZJ的博客 1693

POI导出Excel

百度NeurIPS全球顶会冠军团队,带你7日从零实践强化学习!>>> ...

sumu_的专栏 2832

java的Excel导出方式总结

excel的各种导出方式总结 非常全面

zjq852533445的博客 2万+

Flask HttpResponse 响应体中返回 openpyxl 生成的 Excel 文档

Flask HttpResponse 响应体中返回 openpyxl 生成的 Excel 文档 现在我需要提供一个链接,访问时通过 openpyxl 动态生成一个 Excel 文档,并作为响应体返回。 在这里将动态生成的 Excel 文档保存到服务器,并重定向到静态文件链接显然不是一个合适的做法。 所以我们需要直接将 openpyx 生成的 Excel 文档写入到 Flask 的 HttpRes...

weixin_44702456的博客 2383

Flaskflask_sqlalchemy的模型查询结果,写入到excel,用flask的Response对象来返回

摘要:本文介绍了如何使用Flaskflask_sqlalchemy将数据库查询结果直接导出为Excel文件,并通过Response对象返回。示例代码展示了创建User模型、查询数据、使用openpyxl生成Excel文件,最后通过BytesIO内存流和Response对象实现文件下载功能。这种方法比send_file更灵活,适用于需要对Excel文件进行额外处理或自定义内容的场景,同时避免了临时文件的产生。文中还提供了安装依赖、完整代码示例和使用说明,适合需要精细控制Excel格式的开发者参考。

tttzzzqqq2018的博客 608

python web后端返回excel文件的几种方式

在web后端开发中,经常有遇到返回一个Excel文件给前端的情况,这里以Python 的Flask web框架为例,其他框架类似,总结一下Flask返回一个xlsx的文件给前端的情况。 1、以静态文件的形式返回 @app.route('/download_file/<path:filepath>/', methods=["GET"]) def download_file(filepath): return app.send_static_file(filepath) 2、 以动

csd_ct的专栏 5080

Flask后端实践 连载十三 Flask输出Excel报表

Flask后端实践 连载十三 Flask输出Excel报表。简单实现Flask输出Excel报表,本文基于python3编写。由于项目是工程上的使用,不仅需要对采集的数据进行分析,也需要输出报表,使用程序输出报表极大的简化了报表制作流程。项目上所需的报表,图表比较多,且比较复杂。所有就采用了绘图方面更加完善的xlsxwriter包。

那些年踩过的坑丶 5476

flask将MySQL数据存储到csv并返回前端(flask-excel 踩坑)

安装flask-excel pipi install flask-excel 按照自己的需求修改dome就好了 # dome from flask import Flask, request, jsonify import flask_excel as excel app = Flask(__name__) @app.route("/download_file_named_in_unicode", methods=['GET']) def download_file_named_in_unicode(

qq_45632139的博客 902

flask excel

文件的下载 from flask import send_from_directory @excel_bp.route(’/get_attachment/path:filename’) def get_attachment(filename): return send_from_directory(app.config[‘UPLOAD_FOLDER’],filename,as_attachment...

weixin_44271350的博客 712

flask内存中写入excel返回

from flask import Flask, make_response from io import BytesIO import xlwt app = Flask(__name__) @app.route('/excel') def download_excel(): buffer = BytesIO() workbook = xlwt.Workbook(encoding='utf-8') sheet = workbook.add_sheet('sheet1')

llc的博客 789

flask xlwt生成Excel并下载

flask xlwt生成Excel并下载

XinShun的博客 730

flaskexcel上传下载操作和文件处理

文件的下载 from flask import send_from_directory @excel_bp.route('/get_attachment/&lt;path:filename&gt;') def get_attachment(filename): return send_from_directory(app.config['UPLOAD_FOLDER'],filenam...

孤风寂影 8212

python openpyxl 操作excel 生成xlsx 可通过http直接返回文件

from openpyxl.styles import Color, Fill, Font, Alignment, PatternFill, Border, Side from io import BytesIO from zipfile import ZipFile, ZIP_DEFLATED from flask import make_response from openpyxl.writ...

ennismar的博客 1334

flask上传数据到mysql_flask 上传Excel 到数据库

前端后端import xlrdimport pymysql# 建立数据库连接def sql_func(sql_command):conn = pymysql.connect(host = "39.107.24.78",port = 3306,user = "root",password = "123456",charset = "utf8",database = "flask_test")curs...

weixin_39726873的博客 813

新手指南:使用Flask框架实现Excel到SQL Server的批量数据导入

Flask 是一个轻量级的 Web 应用框架,由 Python 编写。它简单易用,是学习 Web 开发的极佳起点。为了快速搭建起一个简单的 Web 应用程序,Flask 提供了必要的基础功能,同时又非常灵活,允许开发者根据自己的需求进行扩展。接下来,我们将介绍 Flask 的安装过程,并带您了解其基本的应用。安装 Flask 是实现一个简单 Web 应用的第一步。在开始安装之前,请确保您的 Python 环境已经搭建好,并安装了pip,Python 的包管理工具。

weixin_35696112的博客 784

Python副业私活600元,用Flask做一个查询Excel的网站

这次的接单的任务是用flask开发一个简单的数据查询展示网站。单子最早是在端午节假期发的,那个时候就想接下来干,奈何对Linux服务器部署一无所知,只能放弃了。8号这个单子又发出来了,再一次勾起了我想尝试一下的欲望,后来在蚂蚁的鼓励下,本着对Linux无知者无畏的精神和忐忑的心情接了下来。这里强烈推荐一下蚂蚁的python课程,全都面向实战,不注水,全干货。就这个项目而言,bootstrap和flask课程里都有,学过的,做出来没有任何问题。点击下方安全链接前往获取。

xjt921122的博客 1059
上一篇: 【论文解析】LM-BiLSTM+CRF:让BiLSTM+CRF模型更加强大
下一篇: 将CRF应用于文本序列标注问题的实践细节
guofei_fly
博客等级 码龄8年 202粉丝 162原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值