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中使用OpenCV库来进行简单的气象学遥感影像计算
Feb 19 Python
常见python正则用法的简单实例
Jun 21 Python
一个基于flask的web应用诞生 使用模板引擎和表单插件(2)
Apr 11 Python
Python三级菜单的实例
Sep 13 Python
python交互式图形编程实例(一)
Nov 17 Python
Python爬虫抓取代理IP并检验可用性的实例
May 07 Python
深入解析python中的实例方法、类方法和静态方法
Mar 11 Python
Python自动抢红包教程详解
Jun 11 Python
在django项目中导出数据到excel文件并实现下载的功能
Mar 13 Python
Visual Studio Code搭建django项目的方法步骤
Sep 17 Python
Django windows使用Apache实现部署流程解析
Oct 12 Python
pytorch中的numel函数用法说明
May 13 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
PHP error_log()将错误信息写入一个文件(定义和用法)
2013/10/25 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
Javascript 学习笔记 错误处理
2009/07/30 Javascript
div层的移动及性能优化
2010/11/16 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
vue文件运行的方法教学
2019/02/12 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
python selenium 对浏览器标签页进行关闭和切换的方法
2018/05/21 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
利用Python自动化操作AutoCAD的实现
2020/04/01 Python
Ubuntu20下的Django安装的方法步骤
2021/01/24 Python
html5 canvas-2.用canvas制作一个猜字母的小游戏
2013/01/07 HTML / CSS
Madewell美德威尔美国官网:美国休闲服饰品牌
2016/11/25 全球购物
英国假睫毛购买网站:FalseEyelashes.co.uk
2018/05/23 全球购物
学习心得体会
2014/01/01 职场文书
服装店营销方案
2014/03/10 职场文书
实习护士自荐信
2014/06/21 职场文书
环保公益策划方案
2014/08/15 职场文书
2014年重阳节活动策划方案书
2014/09/16 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
2014年消防工作总结
2014/11/21 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
毕业班工作总结
2015/08/10 职场文书
高一语文教学反思
2016/02/16 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
zabbix自定义监控nginx状态实现过程
2021/11/01 Servers