django使用xlwt导出excel文件实例代码
本文研究的主要是记录一下下导出的方法,并没有做什么REST处理和异常处理。
维护统一的style样式,可以使导出的数据更加美观。
defexport_excel(request): #设置HttpResponse的类型 response=HttpResponse(content_type='application/vnd.ms-excel') response['Content-Disposition']='attachment;filename=user.xls' #new一个文件 wb=xlwt.Workbook(encoding='utf-8') #new一个sheet sheet=wb.add_sheet(u'人员表单') #维护一些样式,style_heading,style_body,style_red,style_green style_heading=xlwt.easyxf(""" font: nameArial, colour_indexwhite, boldon, height0xA0; align: wrapoff, vertcenter, horizcenter; pattern: patternsolid, fore-colour0x19; borders: leftTHIN, rightTHIN, topTHIN, bottomTHIN; """ ) style_body=xlwt.easyxf(""" font: nameArial, boldoff, height0XA0; align: wrapon, vertcenter, horizleft; borders: leftTHIN, rightTHIN, topTHIN, bottomTHIN; """ ) style_green=xlwt.easyxf("pattern:patternsolid,fore-colour0x11;") style_red=xlwt.easyxf("pattern:patternsolid,fore-colour0x0A;") fmts=[ 'M/D/YY', 'D-MMM-YY', 'D-MMM', 'MMM-YY', 'h:mmAM/PM', 'h:mm:ssAM/PM', 'h:mm', 'h:mm:ss', 'M/D/YYh:mm', 'mm:ss', '[h]:mm:ss', 'mm:ss.0', ] style_body.num_format_str=fmts[0] #写标题栏 sheet.write(0,0,'姓名',style_heading) sheet.write(0,1,'英文名',style_heading) sheet.write(0,2,'职位',style_heading) sheet.write(0,3,'公司电话',style_heading) sheet.write(0,4,'手机',style_heading) sheet.write(0,5,'QQ',style_heading) sheet.write(0,6,'MSN',style_heading) sheet.write(0,7,'Email',style_heading) sheet.write(0,8,'办公地点',style_heading) sheet.write(0,9,'部门',style_heading) sheet.write(0,10,'人员状态',style_heading) #写数据 row=1 forusainemployesInfo.objects.all(): sheet.write(row,0,usa.name,style_body) sheet.write(row,1,usa.eName,style_body) sheet.write(row,2,usa.postion,style_body) sheet.write(row,3,usa.cPhone,style_body) sheet.write(row,4,usa.pPhone,style_body) sheet.write(row,5,usa.qq,style_body) sheet.write(row,6,usa.msn,style_body) sheet.write(row,7,usa.email,style_body) sheet.write(row,8,usa.offAreas,style_body) sheet.write(row,9,usa.depart,style_body) ifint(usa.status)==1: sheet.write(row,10,'在职',style_green) else: sheet.write(row,10,'离职',style_red) row=row+1 #写出到IO output=StringIO.StringIO() wb.save(output) #重新定位到开始 output.seek(0) response.write(output.getvalue()) returnresponse
总结
以上就是本文关于django使用xlwt导出excel文件实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!