Django-从数据库下载表格文件
2019-03-22 11:22
127 查看
安装包
pip install xlwt
导入模块
import xlwt from io import BytesIO
点击这个方法,首先要访问一个接口,返回状态码,前台接受状态码,然后window.location.href="/export_mon/" 去get 访问另一个接口
<a href="javascript:export_day()" class="a1">导出每日详细信息</a>
首先访问一个接口
function export_day(){ var depname = $(".depname").val() $.ajax({ url:'/export_one/', type:'post', data:{'cls_id':depname}, dataType:'json', success:function(res){ if(res.code==200){ window.location.href="/export_day/" } } }) }
后台 返回一个状态码
class Export_one(APIView): def post(self,request): mes = {'code':200} return Response(mes)
然后前台接收状态码 访问 /export_day/ 接口
class Export_day(APIView): def get(self,request): response = HttpResponse(content_type='application/vnd.ms-excel') response['Content-Disposition'] = 'attachment;filename=order.xls' # 创建一个文件对象 wb = xlwt.Workbook(encoding='utf8') # 创建一个sheet对象 sheet = wb.add_sheet('order-sheet') monlist = Month.objects.filter(class_id=cls_id).all() # 构造表格标题 sheet.write(0,0,'id') sheet.write(0,1,'学生姓名') sheet.write(0,2,'分数') sheet.write(0,3,'添加时间') sheet.write(0,4,'班级') data_row = 1 for i in monlist : # 遍历从数据库里获取的数据 sheet.write(data_row,0,i.id) sheet.write(data_row,1,i.stu_name) sheet.write(data_row,2,i.score) sheet.write(data_row,3,datetime.strftime(i.add_time,'%Y-%m-%d')) cls_one = Class.objects.filter(id=i.class_id).first() sheet.write(data_row,4,cls_one.name) data_row += 1 # 写出到IO output = BytesIO() wb.save(output) # 重新定位到开始 output.seek(0) response.write(output.getvalue()) exist_file = os.path.exists("daytext.xls") if exist_file: os.remove(r"daytext.xls") wb.save("daytext.xls") return response
文件会下载到当前浏览器,下载完成
相关文章推荐
- Django下载大文件和压缩zip文件
- 将文件上传、下载(以二进制流保存到数据库)
- 生成/读取(反向更新数据库) Excel文件(示例代码下载)
- 保存pdf文件至数据库,在线预览并下载到本地
- 电子表格文件读写控件Spreadsheet免费下载购买地址
- 存储过程将.txt.xls文件数据导入数据库表格
- struts2文件下载(文件保存以BLOB类型在数据库中)
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)
- Java使用servlet实现文件上传至数据库和从数据库下载文件
- 快速生成带数据库、可编辑麻点的百度地图——需要下载的文件及说明
- java 直接读数据库下载文件(省略写入本地文件过程)
- 上传文件到数据库,然后下载文件
- 将文件上传、下载(以二进制流保存到数据库)实现代码
- 将文件上传到数据库 和 从数据库下载文件到本地
- C# 多文件与二进制互转数据库写入读出(上传文件二进制方式到DB中,下载DB中的二进制文件到本地)
- django下载 中文名 文件
- 文件以二进制流保存到数据库及下载(转载)
- 用SQL语句定时自动备份SQL SERVER 数据库并将备份文件加密压缩自动下载 (2014-03-17 13:12:26)转载
- 远程备份数据库并自动下载备份文件
- Android多文件断点续传(二)——实现数据库储存下载信息