Django下载数据库表格(XLS/CSV)

下载XLS表格方式:

前置:

  需要安装xlwt模块

views :

def export_users_xls(request):response = HttpResponse(content_type='application/ms-excel')response['Content-Disposition'] = 'attachment; filename="abc.xls"'wb = xlwt.Workbook(encoding='utf-8')ws = wb.add_sheet('Menu')# Sheet header, first rowrow_num = 0font_style = xlwt.XFStyle()font_style.font.bold = True# 表头内容columns = ['id','Mname']for col_num in range(len(columns)):ws.write(row_num, col_num, columns[col_num], font_style)# Sheet body, remaining rowsfont_style = xlwt.XFStyle()# 获取数据库数据rows = models.Menu.objects.all().values_list('id','Mname')for row in rows:row_num += 1for col_num in range(len(row)):ws.write(row_num, col_num, row[col_num], font_style)wb.save(response)return response

URLS:(设置URLS)

 url(r'^export/xls/$', a1.export_users_xls, name='export_users_xls'),

前端页面:

 Export all users

 下载CSV表格方式:

views :

import csv
from django.http import HttpResponse
from django.contrib.auth.models import User
def export_users_csv(request):response = HttpResponse(content_type='text/csv')# 表名response['Content-Disposition'] = 'attachment; filename="users.csv"'writer = csv.writer(response)# 表头writer.writerow(['Username', 'First name', 'Last name', 'Email address'])# 表数据users = User.objects.all().values_list('username', 'first_name', 'last_name', 'email')for user in users:writer.writerow(user)return response

URLS:(设置URLS)

 url(r'^export/csv/$',a1.export_users_csv, name='export_users_csv'),

前端页面:

 Export all users


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部