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代码(逐级优化)
May 25 Python
Python多进程编程技术实例分析
Sep 16 Python
在Python中操作字符串之startswith()方法的使用
May 20 Python
详解Python的Django框架中manage命令的使用与扩展
Apr 11 Python
python中datetime模块中strftime/strptime函数的使用
Jul 03 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
Feb 21 Python
python+selenium实现简历自动刷新的示例代码
May 20 Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
Jun 03 Python
Python logging模块异步线程写日志实现过程解析
Jun 30 Python
解析python 类方法、对象方法、静态方法
Aug 15 Python
详细介绍python操作RabbitMq
Apr 12 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调用MySQL的存储过程的实现代码
2008/08/12 PHP
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
2013/07/05 PHP
php操作mysql数据库的基本类代码
2014/02/25 PHP
一个基于phpQuery的php通用采集类分享
2014/04/09 PHP
PHP借助phpmailer发送邮件
2015/05/11 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
javascript Demo模态窗口
2009/12/06 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
js 获取元素在页面上的偏移量的方法汇总
2015/04/13 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
JavaScript事件类型中UI事件详解
2016/01/14 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
带你快速理解javascript中的事件模型
2017/08/14 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
python3.6的venv模块使用详解
2018/08/01 Python
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
对pyqt5中QTabWidget的相关操作详解
2019/06/21 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
2019/08/12 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
《盲人摸象》教学反思
2014/02/16 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
大学生军训感言
2015/08/01 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书