import xlwt
from xlwt import *
import StringIO
book = Workbook(encoding='utf-8')
sheet = book.add_sheet('Sheet1') #创建一个sheet
sheet.write(0, 0, label = '姓名') #给第0行的第0列插入值
sheet.write(0, 1, label = '年龄') #给第0行的第1列插入值
sheet.write(0, 2, label = '性别') #给第0行的第2列插入值
#创建一个测试列表
stu_list=[{},{"name":"张三","age":23,"gender":"男"},{"name":"李四","age":22,"gender":"男"},{"name":"王五","age":25,"gender":"男"}]
#循环插入值
for index,x in enumerate(stu_list):
if index!=0:
sheet.write(index, 0, label = x["name"])
sheet.write(index, 1, label = x["age"])
sheet.write(index, 2, label = x["gender"])
#返回文件流到浏览端下载,浏览端必须以form提交方式方能下载成功!
sio=StringIO.StringIO()
book.save(sio) #StringIO流
response = HttpResponse()
response[ 'Content-Type'] = 'application/vnd.ms-excel' #文件类型
response[ 'Content-Disposition'] = 'attachment;filename={0}'.format( "lawExcel.xls")
sio.seek( 0) #保存流
response.write(sio.getvalue())
return response
sio=StringIO.StringIO()
book.save(sio) #StringIO流
response = HttpResponse()
response[ 'Content-Type'] = 'application/vnd.ms-excel' #文件类型
response[ 'Content-Disposition'] = 'attachment;filename={0}'.format( "lawExcel.xls")
sio.seek( 0) #保存流
response.write(sio.getvalue())
return response
将以上代码复制到自己的方法中,通过form表单提交方式提交,即会返回到浏览器端下载excel