首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >对excel文件的Flask响应导致excel响应损坏

对excel文件的Flask响应导致excel响应损坏
EN

Stack Overflow用户
提问于 2020-12-19 01:54:37
回答 1查看 164关注 0票数 3

我已经创建了端点来从数据库中获取数据,并使用xmlswriter库下载excel文件中的数据。但它不是下载excel文件,而是下载名为“unknown.txt”的文本文件,其中包含如下数据::

“xl/workbook.xml�Q�N�0����4���T�%*!�P�#2����ؑ���Y�J)��ɞ����x�<4�|�u��&�w}_?^�P�<ӂ)���GptY^-zc�����+h�};�"�kh���4�T�6�”

我已经尝试了下面注释代码中提到的所有示例代码:

代码语言:javascript
运行
AI代码解释
复制
@app.route("/api/v1/downloadexcel", methods=["GET"])
def excel_download2():   
    date_from = request.args.get("date_from")
    date_to = request.args.get("date_to")

    try:
        data_to_create_excel= get_data(date_from, date_to)
      
        output = io.BytesIO()
        workbook = xlsxwriter.Workbook(output, {'in_memory': True})

        # workbook = xlsxwriter.Workbook('demo.xlsx')

        worksheet = workbook.add_worksheet('data_to_create_excel')
        headers = list(data_to_create_excel[0].keys()) if len(data_to_create_excel) else []
        rows = [data .values() for data in data_to_create_excel]
        for row_num, row_data in enumerate([headers , *rows]):
            for col_num, col_data in enumerate(row_data):
                worksheet.write(row_num, col_num, col_data)


        workbook.close()
        output.seek(0)
        return send_file(output, attachment_filename="output.xlsx", as_attachment=True)

        # return Response(output.getvalue(), mimetype="application/ms-excel",
        #                 headers={"Content-Disposition": "attachment;filename=employee_report.xlsx"})

        # self.send_response(200)
        # self.send_header("Access-Control-Expose-Headers", "Content-Disposition")
        # self.send_header('Content-Disposition', 'attachment; filename=test.xlsx')
        # self.send_header('Content-type',
        #                  'application/ms-excel')
        # self.end_headers()
        # self.wfile.write(output.read())
        # return

        # file_name = 'ore_data_{}.xlsx'.format(
        #     datetime.now().strftime('%d/%m/%Y'))
        # return jsonify([csv_headers]), 200
        # return send_file(output,
        #                  attachment_filename='your_filename.xlsx',
        #                  as_attachment=True)
        # return Response(
        #     output.getvalue(),
        #     # mimetype='application/ms-excel',
        #     headers={
        #         "Access-Control-Expose-Headers": "Content-Disposition",
        #         "Content-Disposition": 'attachment; filename=test.xlsx',
        #         'Content-type':
        #     'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
        #     },
        # )
        # return output.read(),200
    except Exception as e:
        print(e)
EN

回答 1

Stack Overflow用户

发布于 2020-12-19 05:04:54

将您的数据添加到pandas数据帧中。更容易处理列等,然后使用to_excel函数。然后使用send_from_directory (就像您正在做的那样)发送文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65365974

复制
相关文章
Flask response响应
如果视图函数返回的响应还需要使用不同的状态码,那么可以把数字代码作为第二个返回值,添加到响应文本之后
忆想不到的晖
2021/12/06
7530
Flask response响应
flask生成excel下载文件
最近在使用flask的项目开发中需要从数据库读取数据,生成excel格式文件,然后供用户下载。如果想让用户下载一个文件,在http response里设置 Content-Disposition = attachment 然后设置filename即可。 下载文件分两种情况:
用户2936342
2018/08/27
2K0
Flask | Flask基础 - 关于响应Response的浅析
第二个例子:可以使用make_response函数来创建Response对象,这个方法可以设置额外的数据,比如设置cookie,header信息等:
咸鱼学Python
2019/06/03
9.4K0
Flask | Flask基础 - 关于响应Response的浅析
【Flask】Flask响应请求与模板引擎
这里的layout就是一个通用的模板。extend_template.html和extend_template_other.html在layout.html基础上进行修改。(例如:子类重写父类)
半生瓜的blog
2023/05/13
2470
【Flask】Flask响应请求与模板引擎
Flask(请求和响应 五)
使用ajax会返回X-Requested-With: XMLHttpRequest可以在XHR中找到
zx钟
2020/06/19
5880
flask下载excel
将 bootstrap.min.css 放到 static 文件夹下,在 templates 文件夹下新建 index.html,里面写入如下信息:
机器学习和大数据挖掘
2019/07/01
1.5K0
flask下载excel
Python Flask 编程 | 连载 04 - Flask 响应
视图函数中返回的内容既响应,响应内容的数据类型可以是字符串,也可以是元组,响应内容可以包含响应体、状态码或者响应头。
RiemannHypothesis
2022/09/26
4640
Python Flask 编程 | 连载 04 - Flask 响应
Flask 设置个性化的响应体、响应头、状态码
在api设计中,基于restful的设计原则,一个http的响应应该包含执行的响应信息以及状态码。
Devops海洋的渔夫
2019/12/02
3.5K0
Flask之请求和响应
from flask import Flask from flask import request from flask import render_template from flask import redirect from flask import make_response app = Flask(__name__) @app.route('/login.html', methods=['GET', "POST"]) def login
人生不如戏
2018/08/01
5470
EasyExcel实现对excel文件读写
  EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。
别团等shy哥发育
2023/02/25
8380
EasyExcel实现对excel文件读写
Excel实战技巧71: 自动响应消息框信息
运行test过程,将打开C盘中名为test.xlsm的工作簿,并弹出如下图1所示的消息框。
fanjy
2019/12/30
5050
[C#]对Excel的操作
private void ExcelOperation() { // //定义一个缺少的object对象 object oMis = System.Reflection.Missing.Value; // //定义一个Excel程序对象 Excel.ApplicationClass excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
静默虚空
2022/05/07
6680
flask上传excel文件,无须存储,直接读取内容
运行环境python3.6 import xlrd from flask import Flask, request app = Flask(__name__) @app.route("/", methods=['POST', 'GET']) def filelist1(): print(request.files) file = request.files['file'] print('file', type(file), file) print(file.file
用户1214487
2018/12/07
3.5K0
flask上传excel文件,无须存储,直接读取内容
运行环境python3.6 import xlrd from flask import Flask, request app = Flask(__name__) @app.route("/", methods=['POST', 'GET']) def filelist1(): print(request.files) file = request.files['file'] print('file', type(file), file) print(file.file
用户8832503
2022/03/02
2.4K0
11. Flask 设置个性化的响应体、响应头、状态码
在api设计中,基于restful的设计原则,一个http的响应应该包含执行的响应信息以及状态码。
Devops海洋的渔夫
2022/01/14
8920
11. Flask 设置个性化的响应体、响应头、状态码
Flask请求和响应对象(二)
Flask中的响应对象用于返回给客户端的数据。响应对象可以是字符串、JSON、HTML页面、文件等。我们可以从Flask中导入'response'模块来创建响应对象。响应对象包含的常见方法和属性如下:
堕落飞鸟
2023/05/05
7321
flask导出Excel报表详解
没有实例的讲解很不容易理解,本文我们依然从实际项目来讲解,对 “flask+mysql微信小程序开源项目” 进一步扩展 ,教大家以项目为驱动来学习软件开发技术 。
热心的程序员
2020/04/07
2.6K1
Flask请求和响应对象(一)
在Flask应用程序中,每个请求都被表示为一个请求对象。请求对象包含有关客户端请求的所有信息,例如HTTP方法、URL、请求头、请求体等。Flask还提供了响应对象,用于返回给客户端的数据。
堕落飞鸟
2023/05/05
6431
Flask(重定向和错误响应 六)
http://127.0.0.1:5000/src/css/demo.css可以看出,这个url变成了static_url_path替换部分
zx钟
2020/06/28
2.1K0
预测细胞形态对干扰的响应
今天为大家介绍的是来自Fabian J. Theis和Mohammad Lotfollahi的一篇关于细胞形态学的论文。高通量筛选技术的进步使得我们能够探索富含表型信息的方法,例如高内容显微镜技术,从而加速药物靶点鉴定和作用机制研究。然而,将这些实验扩展到庞大的药物或基因干扰空间面临挑战,因为只有少数化合物在筛选中显示活性。尽管机器学习方法在各种应用中被广泛使用,但在预测涉及未知现象的场景时,特别是将未见过的控制细胞图像转换为所需的干扰现象,机器学习方法并未表现出可靠的能力。作者提出了一种生成模型,即图像干扰自编码器(IMPA),它利用未经处理的细胞图像作为输入,预测化学和基因干扰的细胞形态学效应。
DrugAI
2023/09/19
2630
预测细胞形态对干扰的响应

相似问题

对excel文件的Flask响应提供损坏的excel文件

134

rails http对Donwload excel文件的响应

13

从spring下载excel文件导致文件损坏

10

VBA UDF函数导致excel“无响应”

01

使用<cfcontent>标记流Excel数据会导致excel文件损坏

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档