flask+js+python 导出csv

1. 首先增加html点击的button

<button class="btn btn-sm btn-primary" type="button" onclick="result_export()" 
id="export"><i class="fa fa-file-text-o"></i> 结果导出</button>

2. js相应点击事件

function result_export() {
    var param1 = "1";    #参数1, 非必需
    var param2 = "2";    #参数2, 非必需
   
    var url = "http://IP?XX";    #请求的url

    #url拼接 请求参数 , 非必需
    url += "?param1=" + param1 + "&param2=" + param2;

    var a = $("<a href='" + url + "'>download</a>").get(0);
    var e = document.createEvent('MouseEvents');
    e.initEvent('click', true, true);
    a.dispatchEvent(e);
}

3. python后端

import csv, os, re
from io import StringIO

def csv_export():
    param1 = get_parameter("param1")   #前端传过来的,非必需
    param2 = get_parameter("param2")   #前端传过来的,非必需
    result = []   #根据条件匹配到的list
    return download_csv(result)

def download_csv(result):
    user_data = [['param1', 'param2']]
    for one in result:
        user_data.append([one.get("param1"), one.get("param2")])
    def generate():
        data = StringIO()
        w = csv.writer(data)
        for i in user_data:
            w.writerow(i)
            yield data.getvalue()
            data.seek(0)
            data.truncate(0)
    response = Response(stream_with_context(generate()), mimetype='text/csv')
    response.headers.set("Content-Disposition", "attachment", filename="result.csv")
    return response

到这里就可以愉快的导出csv了

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python学生管理系统是基于Flask框架开发的一款学生信息管理系统。该系统通过利用Python语言以及Flask框架的优势,实现了对学生信息的增删改查等功能。 首先,系统提供了学生信息的录入功能。用户可以通过系统提供的界面,输入学生的基本信息,如姓名、性别、年龄、学号等,并将这些信息存储到数据库中。用户还可以上传学生的照片,并将其与学生的信息进行关联。 其次,系统提供了学生信息的查询功能。用户可以根据学生的学号或姓名等条件进行查询,系统将根据用户提供的条件,在数据库中进行查询,并将查询到的结果展示给用户。这样,用户可以快速找到所需要的学生信息。 此外,系统还提供了学生信息的修改和删除功能。用户可以根据自己的需求,对学生的信息进行修改或删除。修改功能允许用户修改学生的基本信息,如姓名、性别、年龄等;删除功能则是将指定学生的信息从数据库中删除。 最后,系统还具备一些附加功能。例如,系统支持学生信息的批量导入和导出,用户可以通过上传CSV文件将多个学生的信息一次性导入系统;同时,用户还可以将查询结果导出CSV文件,以便将学生信息用于其他用途。 总之,Python学生管理系统基于Flask框架,提供了学生信息的增删改查等功能,可以有效地管理学生信息,提高工作效率。它简单易用,功能强大,适合学校、培训机构等组织使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值