django使用xlwt导出excel文件实例代码


Posted in Python onFebruary 06, 2018

本文研究的主要是记录一下下导出的方法,并没有做什么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

总结

以上就是本文关于django使用xlwt导出excel文件实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python 装饰器功能以及函数参数使用介绍
Jan 27 Python
Python中unittest用法实例
Sep 25 Python
Python的Django框架中的Context使用
Jul 15 Python
Python 安装setuptools和pip工具操作方法(必看)
May 22 Python
Python爬虫框架Scrapy实例代码
Mar 04 Python
python线程池threadpool实现篇
Apr 27 Python
python在每个字符后添加空格的实例
May 07 Python
python 利用for循环 保存多个图像或者文件的实例
Nov 09 Python
pandas-resample按时间聚合实例
Dec 27 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 Python
tensorflow+k-means聚类简单实现猫狗图像分类的方法
Apr 28 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
May 28 Python
Python使用装饰器进行django开发实例代码
Feb 06 #Python
Python yield与实现方法代码分析
Feb 06 #Python
Django中间件工作流程及写法实例代码
Feb 06 #Python
Django数据库表反向生成实例解析
Feb 06 #Python
Python使用functools实现注解同步方法
Feb 06 #Python
django中send_mail功能实现详解
Feb 06 #Python
Python打印“菱形”星号代码方法
Feb 05 #Python
You might like
中国收音机工业发展史
2021/03/02 无线电
php中的MVC模式运用技巧
2007/05/03 PHP
Discuz 模板引擎的封装类代码
2008/07/18 PHP
php组合排序简单实现方法
2016/10/15 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
2017/02/18 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
2008/03/22 Javascript
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
2011/07/26 Javascript
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
JavaScript 模块化编程(笔记)
2015/04/08 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
原生javascript实现图片无缝滚动效果
2016/02/12 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
javascript函数的四种调用模式
2017/01/08 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
2018/10/23 Javascript
webpack中如何使用雪碧图的示例代码
2018/11/11 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
Python opencv实现人眼/人脸识别以及实时打码处理
2019/04/29 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
Django框架序列化与反序列化操作详解
2019/11/01 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
Python守护进程实现过程详解
2020/02/10 Python
Python 面向对象部分知识点小结
2020/03/09 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
大四自我鉴定范文
2013/10/06 职场文书
应届毕业生求职信范例分享
2013/12/17 职场文书
远程研修随笔感言
2014/02/10 职场文书
请假条格式范文
2014/04/10 职场文书
摄影展策划方案
2014/06/02 职场文书
党的群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
书法社团活动总结
2015/05/07 职场文书
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js