同样是做表格,但是有些人的表格就做的很好看。融合了之前所学不同模块的知识,来讲讲Django中生成表格的特殊方法。
这里只是mark一下导出的方法,并没有做什么REST处理和异常处理。
维护统一的style样式,可以使导出的数据更加美观。
def export_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: name Arial, colour_index white, bold on, height 0xA0; align: wrap off, vert center, horiz center; pattern: pattern solid, fore-colour 0x19; borders: left THIN, right THIN, top THIN, bottom THIN; """ ) style_body = xlwt.easyxf(""" font: name Arial, bold off, height 0XA0; align: wrap on, vert center, horiz left; borders: left THIN, right THIN, top THIN, bottom THIN; """ ) style_green = xlwt.easyxf(" pattern: pattern solid,fore-colour 0x11;") style_red = xlwt.easyxf(" pattern: pattern solid,fore-colour 0x0A;") fmts = [ 'M/D/YY', 'D-MMM-YY', 'D-MMM', 'MMM-YY', 'h:mm AM/PM', 'h:mm:ss AM/PM', 'h:mm', 'h:mm:ss', 'M/D/YY h: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 for usa in employesInfo.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) if int(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()) return response
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“Django中如何用xlwt生成表格的方法步骤”评论...
更新日志
2024年12月23日
2024年12月23日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]