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 Mysql数据库操作 Perl操作Mysql数据库
Jan 12 Python
Python 分析Nginx访问日志并保存到MySQL数据库实例
Mar 13 Python
Python中不同进制的语法及转换方法分析
Jul 27 Python
python实现逻辑回归的方法示例
May 02 Python
python爬虫之百度API调用方法
Jun 11 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
python实现文本界面网络聊天室
Dec 12 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
Jan 04 Python
Python ini文件常用操作方法解析
Apr 26 Python
python suds访问webservice服务实现
Jun 26 Python
Python实现像awk一样分割字符串
Sep 15 Python
Python 批量下载阴阳师网站壁纸
May 19 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图片上传程序
2008/03/27 PHP
php学习之 循环结构实现代码
2011/06/09 PHP
PHP优于Node.js的五大理由分享
2012/09/15 PHP
php中explode与split的区别介绍
2012/10/03 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
ext 代码生成器
2009/08/07 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
QUnit jQuery的TDD框架
2010/11/04 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
JavaScript设计模式开发中组合模式的使用教程
2016/05/18 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
react系列从零开始_简单谈谈react
2017/07/06 Javascript
js设置随机切换背景图片的简单实例
2017/11/12 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
vue中template的三种写法示例
2020/10/21 Javascript
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
windows10系统中安装python3.x+scrapy教程
2016/11/08 Python
使用Python & Flask 实现RESTful Web API的实例
2017/09/19 Python
python+pyqt5实现24点小游戏
2019/01/24 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
决策树剪枝算法的python实现方法详解
2019/09/18 Python
Python assert关键字原理及实例解析
2019/12/13 Python
python 最简单的实现适配器设计模式的示例
2020/06/30 Python
猫咪家具:CatsPlay
2018/11/03 全球购物
请问如下代码执行后a和b的值分别是什么
2016/05/05 面试题
体育教师自荐信范文
2013/12/16 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
招商银行工作证明
2015/06/17 职场文书
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS