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 相关文章推荐
Django中使用group_by的方法
May 26 Python
Python网络爬虫项目:内容提取器的定义
Oct 25 Python
python生成器,可迭代对象,迭代器区别和联系
Feb 04 Python
python进行两个表格对比的方法
Jun 27 Python
使用python实现语音文件的特征提取方法
Jan 09 Python
Python多继承以及MRO顺序的使用
Nov 11 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
使用pytorch和torchtext进行文本分类的实例
Jan 08 Python
Python开发企业微信机器人每天定时发消息实例
Mar 17 Python
Python爬虫过程解析之多线程获取小米应用商店数据
Nov 14 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 Python
Python matplotlib绘制雷达图
Apr 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+ajax实现图片文件上传功能实例
2014/06/17 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
2019/10/22 PHP
MSN消息提示类
2006/09/05 Javascript
Javascript 中的类和闭包
2010/01/08 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
JavaScript中的this机制
2016/01/30 Javascript
DIV+CSS+jQ实现省市联动可扩展
2016/06/22 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
2017/03/10 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
微信小程序实现表单校验功能
2020/03/30 Javascript
Vue封装一个简单轻量的上传文件组件的示例
2018/03/21 Javascript
使用webpack-dev-server处理跨域请求的方法
2018/04/18 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
2020/07/15 Javascript
深入分析在Python模块顶层运行的代码引起的一个Bug
2014/07/04 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
Python3开发环境搭建详细教程
2020/06/18 Python
对CSS3选择器的研究(详解)
2016/09/16 HTML / CSS
区域销售经理职责
2013/12/22 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
百日安全活动总结
2014/05/04 职场文书
质量标语大全
2014/06/12 职场文书
2014年司法所工作总结
2014/11/22 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
学校德育工作总结2015
2015/05/11 职场文书
深入讲解Vue中父子组件通信与事件触发
2022/03/22 Vue.js
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server