flask将数据库数据以excel文件导出
flask将数据库数据以excel文件导出前端代码展示<span class="l_f"><a href="/allexcel" class="btn btn-danger">导出Excel</a></span>后台代码展示@app.route('/allexcel')def listExcel():conn, cur = pydb.conn_db(
·
flask将数据库数据以excel文件导出
前端代码展示
<span class="l_f">
<a href="/allexcel" class="btn btn-danger">导出Excel</a>
</span>
后台代码展示
@app.route('/allexcel')
def listExcel():
conn, cur = pydb.conn_db()
count = cur.execute('select * from newlist ')
# 重置游标的位置
cur.scroll(0, mode='absolute')
# 搜取所有结果
results = cur.fetchall()
# 获取MYSQL里面的数据字段名称
fields = cur.description
# 实例化,有encoding和style_compression参数
new = xlwt.Workbook(encoding='utf-8')
# Workbook的方法,生成.xls文件
sheet = new.add_sheet('新闻', cell_overwrite_ok=True)
# 写上字段信息
for field in range(0, len(fields)):
sheet.write(0, field, fields[field][0])
# 获取并写入数据段信息
row = 1
col = 0
for row in range(1, len(results) + 1):
for col in range(0, len(fields)):
sheet.write(row, col, u'%s' % results[row - 1][col])
sio = BytesIO()
new.save(sio) # 将数据存储为bytes
sio.seek(0)
response = make_response(sio.getvalue())
response.headers['Content-type'] = 'application/vnd.ms-excel' # 响应头告诉浏览器发送的文件类型为excel
response.headers['Content-Disposition'] = 'attachment; filename=newlist.xlsx' # 浏览器打开/保存的对话框,data.xlsx-设定的文件名
return response
更多推荐
已为社区贡献1条内容
所有评论(0)