版本一:将MySQL数据写入到excel(xsl)文件并下载到默认文件夹(一般问电脑的下载文件夹里面),并显示特效到前端页面。

flask框架连接MySQL,我们使用pymsql这个工具,如下操作:

from flask import Flask
import pymysql
import xlwt
from io import BytesIO
from flask import make_responsedb = pymysql.connect(host='127.0.0.1',port=3306,user='user', passwd='pwd', db='db_name', charset='utf8')  # 创建链接def data_db():  # 去数据库取数据,假设数据库表只有4个字段sql = """select * from table_name;"""cc = db.cursor()  # 其实就是用来获得python执行Mysql命令的方法,也就是我们所说的操作游标cc.execute(sql)  # 真正执行sql语句cn = cc.fetchall()  # 接收全部的返回结果行rowreturn cn  # 返回app = Flask(__name__)@app.route('/index_up')  # 设置路由
def index_list():  # 执行视图函数ret = data_db()  # 获取数据wb = xlwt.Workbook(encoding='utf-8')  # 实例化,有encoding和style_compression参数ws = wb.add_sheet("111", cell_overwrite_ok=True)  # Workbook的方法,生成名为111.xls文件row0 = ['字段1', '字段2', '字段3', '字段4']  # 指定xls文件的字段for i in range(0, len(row0)):  # 将这些字段写入111.xls文件ws.write(0, i, row0[i])k = 1for i in ret:  # 循环每一列for j in range(4):  # 在每列添加数据ws.write(k, j, i[j])        k += 1sio = BytesIO()  # 将获取的数据在内存中写,有时会用到StringIO()wb.save(sio)  # 将文件流保存sio.seek(0)  # 光标response = make_response(sio.getvalue())  # response.headers['Content-type'] = 'application/vnd.ms-excel'  # 指定返回的类型response.headers['Transfer-Encoding'] = 'chunked'response.headers['Content-Disposition'] = 'attachment;filename=111.xls'  # 设定用户浏览器显示的保存文件名return response  # 返回response,浏览器会出现如下效果,如果返回其他,比如None就会只下载不在浏览器提示。if __name__ == '__main__':app.run()

版本二:将MySQL的数据写入到excel中并下载到指定路径里面

from flask import Flask
import pymysql
import xlwt
from io import BytesIO
from flask import make_responsedb = pymysql.connect(host='127.0.0.1',port=3306,user='user', passwd='pwd', db='db_name', charset='utf8')  # 创建链接def data_db():  # 去数据库取数据,假设数据库表只有4个字段sql = """select * from table_name;"""cc = db.cursor()  # 其实就是用来获得python执行Mysql命令的方法,也就是
我们所说的操作游标cc.execute(sql)  # 真正执行sql语句cn = cc.fetchall()  # 接收全部的返回结果行rowreturn cn  # 返回

app = Flask(__name__)@app.route('/index_up')  # 设置路由
def index_list():  # 执行视图函数
ret = data_db()  # 获取数据wb = xlwt.Workbook(encoding='utf-8')  # 实例化,有encoding和style_compression参数ws = wb.add_sheet("111", cell_overwrite_ok=True)  # Workbook的方法,生成名为111.xls文件row0 = ['字段1', '字段2', '字段3', '字段4']  # 指定xls文件的字段for i in range(0, len(row0)):  # 将这些字段写入111.xls文件
        ws.write(0, i, row0[i])k = 1for i in ret:  # 循环每一列for j in range(4):  # 在每列添加数据
            ws.write(k, j, i[j])k += 1today = str(datetime.datetime.now())file_name = "day_data" + today[0:13] + ".xls"fp = r"E:/我的资料/inner_ctrl01/ttt"wb.save(file_name)shutil.move(file_name, os.path.join(fp, file_name))return 'ok'  # 必须return,并且不能return 空if __name__ == '__main__':app.run()

转载于:https://www.cnblogs.com/aaronthon/p/10245894.html

flask使用pymysql连接MySQL,生成xls文件并下载到本地相关推荐

  1. 【PHPExcel】生成xls文件并下载

    //错误处理 时区设置 error_reporting(E_ALL); ini_set('display_errors',TRUE); ini_set('display_startup_errors' ...

  2. phpmywind 查询结果生成csv文件并下载到本地

    我这里使用php的form表单. 当我点击表单按钮时,自动跳到exportDate.php页面,并执行exportDate.php页面的代码. 显示下载按钮的页面: <form method=& ...

  3. python使用pymysql连接mysql_python3使用PyMysql连接mysql数据库的简单示例

    这篇文章主要为大家详细介绍了python3使用PyMysql连接mysql数据库的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小 ...

  4. 【Python】PyMySQL 连接 MySQL数据库

    PyMySQL连接 Mysql 安装 PyMySQL PyMySQL 连接数据库 创建数据库(数据库必须存在) 创建数据表 插入操作 查询操作 更新操作 删除操作 综合案例 Connection Ob ...

  5. 记录python使用pymysql连接mysql数据库,使用impyla、ibis-framework[impala]连接hive\impala(kerberos)数据库(备以后查阅)

    记录python使用pymysql连接mysql数据库,使用impyla.ibis-framework[impala]连接hive\impala(kerberos)数据库(备以后查阅) 连接mysql ...

  6. t4模板 mysql_.net core 用T4模板连接MySql生成实体类

    .net core 用T4模板连接MySql生成实体类标题 4,把MySql.Data.dll放在项目根目录,也可以自行更改. 在之前参考那个博友的文章,他的是连接SQL server的. 下面是参考 ...

  7. Python3 使用 pymysql 连接 MySQL 建表时出现 Warning3719 UTF8 警告

    在学习 Python3 爬虫关系型数据库储存时,利用 pymysql 连接 MySQL 建表,测试用的代码如下,第一句 SQL 用于获取当前 MySQL 的版本信息,第二句 SQL 执行创建 spid ...

  8. pymysql连接mysql数据库try_pymysql 连接数据库和基本使用

    pymysql 连接mysql数据库import pymysql.cursors # 连接数据库配置信息 connection = pymysql.connect(host='localhost', ...

  9. myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法)

    myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法) 参考文章: (1)myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法) (2)https://www. ...

  10. Linux中连接mysql执行sql文件

    Linux中连接mysql执行sql文件 数据量小的时候可以把sql语句内容粘贴执行,但是文件很大的时候,这样执行效率很慢很慢,需要使用source执行sql文件 1.客户端连接mysql数据库 [r ...

最新文章

  1. golang学习笔记————字符串
  2. 每日一皮:资深程序员调试代码的样子...
  3. ssh 用密码连接不上、查看openSSH 的版本、CentOS - 升级openSSH,修复安全漏洞
  4. mysql-备份及关联python
  5. webpack.config.js 参数详解
  6. 字典树 ZOJ1109 HDU1251 PKU1204 HDU1075
  7. VS Code编写html(2)
  8. WordPress实践:上传文件时提示“缺少临时文件夹”
  9. 万物皆可Graph | 当信息检索遇上图神经网络
  10. linux下搭建uvm环境,转:使用QuestaSIM进行UVM仿真环境搭建
  11. Abseil之Copies, Abbrv
  12. stm32采集脉冲信号_外部脉冲实现ADC采样的问题 STM32f103VE
  13. 最近开发的NFC读写器控制软件
  14. 离散信号(七)| 离散傅里叶变换(DFT)推导
  15. html怎么叠加透明图片,css – 您可以在图片上叠加透明div
  16. DOM系列之排他思想
  17. Android开发之音乐播放器所遇到的问题
  18. 设置linux服务器同步时间
  19. 逻辑运算符以及逻辑表达式
  20. java camel exchange类_让Camel处理各种URI类型

热门文章

  1. 【图像重建】基于matlab ASTRA算法图像重建【含Matlab源码 090期】
  2. 【优化调度】基于matlab粒子群算法求解梯级水电站调度优化问题【含Matlab源码 065期】
  3. 契税申报期限_纳税申报的5个小常识,会计不知道,真不适合干会计 D1
  4. c语言注释部分两侧的分界符号分别是,C语言习题及解答.doc
  5. 苹果投影仪_无线投屏才是真正的王道,明基智能商务投影仪E580
  6. 从入门到放弃之promise用法(上)
  7. 高并发、高访问量如何计算【测试评估】
  8. android 实现应用程序后台运行的说明
  9. C#播放流媒体的几种方法
  10. 实用网站、软件、App分享