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类中super()和__init__()的区别
Oct 18 Python
python 安装virtualenv和virtualenvwrapper的方法
Jan 13 Python
Python3学习笔记之列表方法示例详解
Oct 06 Python
python逆序打印各位数字的方法
Jun 25 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
Mar 11 Python
Python使用reportlab模块生成PDF格式的文档
Mar 11 Python
Python Django框架防御CSRF攻击的方法分析
Oct 18 Python
python实现输出一个序列的所有子序列示例
Nov 18 Python
Python tkinter三种布局实例详解
Jan 06 Python
pycharm不能运行.py文件的解决方法
Feb 12 Python
Python基于进程池实现多进程过程解析
Apr 30 Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 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
PHILIPS L4X25T电路分析和打理
2021/03/02 无线电
php将时间差转换为字符串提示
2011/09/07 PHP
JavaScript写的一个自定义弹出式对话框代码
2010/01/17 Javascript
For循环中分号隔开的3部分的执行顺序探讨
2014/05/27 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
js时间转换毫秒的实例代码
2019/08/21 Javascript
vue中beforeRouteLeave实现页面回退不刷新的示例代码
2019/11/01 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
Python中实现的RC4算法
2015/02/14 Python
Python 多线程的实例详解
2017/09/07 Python
python利用paramiko连接远程服务器执行命令的方法
2017/10/16 Python
python实现kmp算法的实例代码
2019/04/03 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
2019/06/18 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
python从PDF中提取数据的示例
2020/10/30 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
2021/02/01 Python
详解移动端Html5页面中1px边框的几种解决方法
2018/07/24 HTML / CSS
海外淘书首选:AbeBooks
2017/07/31 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
波兰多品牌运动商店:StreetStyle24.pl
2020/09/22 全球购物
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
GC是什么?为什么要有GC?
2013/12/08 面试题
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
《长征》教学反思
2014/04/27 职场文书
老公给老婆的保证书
2014/04/28 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
2015年小学实验室工作总结
2015/07/28 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书
快速学习Oracle触发器和游标
2021/06/30 Oracle