python 数据生成excel导出(xlwt,wlsxwrite)代码实例


Posted in Python onAugust 23, 2019

这篇文章主要介绍了python 数据生成excel导出(xlwt,wlsxwrite)代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

话不多说,看代码:

from xlwt import *
import StringIO
from apps.song.models import Song
def excel_ktvsong(request):

 """
导出excel表格
"""

 _id = request.GET.get('id', 0)

 list_obj = Song.objects.filter(is_delete__exact=False)
 # django orm 
 if list_obj:
 # 创建工作薄

  ws = Workbook(encoding='utf-8')

  w = ws.add_sheet(u"歌曲列表")

  w.write(0, 0, u"歌曲名称")

  w.write(0, 1, u"歌手")

  # 写入数据

  excel_row = 1

  for obj in list_obj:

   data_song = obj.song

   data_singer_name = obj.singer_name

   w.write(excel_row, 0, data_song)

   w.write(excel_row, 1, data_singer_name)


   excel_row += 1


  sio = StringIO.StringIO()

  ws.save(sio)

  sio.seek(0)

  response = HttpResponse(sio.getvalue(),   
  content_type='application/vnd.ms-excel')

  response['Content-Disposition'] = 'attachment;filename=%s.xls' % time.strftime('%Y%m%d%H%M%S')

  response.write(sio.getvalue())

  return response

 else:

  return HttpResponse("无数据")

上边我也是盗的,只不过当时有需求,数据量大只能用xlsxwriter,然后下边是我用xlsxwriter写的,边学边写,还请多多关照:

import xlsxwriter,StringIO
    output = StringIO.StringIO()
    workbook = Workbook(output)
    if id:
      sheet_name = _(u"vvv")
      w = workbook.add_worksheet(sheet_name)
    else:
      sheet_name = _(u"vvvvvvv")
      w = workbook.add_worksheet(sheet_name)
""" 表格单元格样式"""
    head_cell_xf = workbook.add_format({
      'font_name': 'SimSun',
      'bold': True,
      'text_wrap': True,
      'valign': 'vcenter',
      'align': 'left',

      'bg_color': 'gray',
      'pattern': 1,
      'bottom': 1,
      'left': 1,
      'right': 1,
      'top': 1,
    })
    body_cell_xf = workbook.add_format({
      'font_name': 'SimSun',
      'text_wrap': True,
      'valign': 'vcenter',
      'align': 'left',

      'bg_color': 'gray',
      'pattern': 1,
      'bottom': 1,
      'left': 1,
      'right': 1,
      'top': 1,
    })

    w.write(0, 0, 'xxxx', head_cell_xf)
    w.write(0, 1, u'xxxx', head_cell_xf)
    w.set_column(1, 0, 18)
    w.set_column(1, 1, 100)
    excel_row = 1
    # cve_id = set()
    # i18n_name = set()
    data={}
    if id:
      res = xx.objects.get(id=id)
      res = res.vuls.split(';')
      for re in res:
        re = xx.objects.get(pk=xx)
        data[re.cve_id]=re.i18n_name[1]
        # w.write(excel_row, 0, re.cve_id,body_cell_xf)
        # w.write(excel_row, 1, re.i18n_name[1], body_cell_xf)
        # cve_id.add(re.cve_id)
        # cve_id.add(re.i18n_name[1])
        excel_row += 1
        progress_status = excel_row*100/len(res) # 获取进度

    else:
      res = xx.objects.get(pk=xx)
      res = res.white_list.split(',')
      for re in res:
        re = Vuln.objects.get(vul_id=re)
        data[re.cve_id] = re.i18n_name[1]
      
        excel_row += 1
        progress_status = excel_row * 100 / len(res)  # 获取进度
    w.write_column('A2', data.keys(), body_cell_xf)
    w.write_column('B2', data.values(), body_cell_xf)
    workbook.close()
    response = HttpResponse(output.getvalue(),
                content_type='application/octet-stream')
    response['Content-Disposition'] = 'attachment;filename=%s.xlsx' % xxx
    response.write(output.getvalue())
    progress_status = 0
    return response

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之深入变量和引用对象
Sep 24 Python
零基础写python爬虫之抓取百度贴吧代码分享
Nov 06 Python
python判断字符串是否纯数字的方法
Nov 19 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
机器学习经典算法-logistic回归代码详解
Dec 22 Python
全面了解Nginx, WSGI, Flask之间的关系
Jan 09 Python
Python3导入自定义模块的三种方法详解
Apr 13 Python
对Python通过pypyodbc访问Access数据库的方法详解
Oct 27 Python
基于wxPython的GUI实现输入对话框(1)
Feb 27 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
Jan 10 Python
python 函数中的参数类型
Feb 11 Python
Python生成pdf目录书签的实例方法
Oct 29 Python
python @classmethod 的使用场合详解
Aug 23 #Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
Aug 23 #Python
python 类的继承 实例方法.静态方法.类方法的代码解析
Aug 23 #Python
Python中最好用的命令行参数解析工具(argparse)
Aug 23 #Python
详解Python并发编程之创建多线程的几种方法
Aug 23 #Python
详解Python并发编程之从性能角度来初探并发编程
Aug 23 #Python
python Kmeans算法原理深入解析
Aug 23 #Python
You might like
Terran建筑一览
2020/03/14 星际争霸
PHP pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
PHP跨时区(UTC时间)应用解决方案
2013/01/11 PHP
PHP正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
PHP面向对象程序设计方法实例详解
2016/12/24 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
解析Javascript单例模式概念与实例
2016/12/05 Javascript
javascript输出AscII码扩展集中的字符方法
2016/12/26 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
Angular通过指令动态添加组件问题
2018/07/09 Javascript
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
2018/08/05 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
Python创建文件和追加文件内容实例
2014/10/21 Python
Python中用Spark模块的使用教程
2015/04/13 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
Win8.1下安装Python3.6提示0x80240017错误的解决方法
2018/07/31 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
python Shapely使用指南详解
2020/02/18 Python
python Timer 类使用介绍
2020/12/28 Python
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
企业消防安全责任书
2014/07/23 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
2015年小学财务工作总结
2015/07/20 职场文书
javascript的setTimeout()使用方法总结
2021/11/20 Javascript