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使用random和tertools模块解一些经典概率问题
Jan 28 Python
Python中import机制详解
Nov 14 Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 Python
TensorFlow搭建神经网络最佳实践
Mar 09 Python
在cmd命令行里进入和退出Python程序的方法
May 12 Python
通过pycharm使用git的步骤(图文详解)
Jun 13 Python
Python urllib2运行过程原理解析
Jun 04 Python
用python进行视频剪辑
Nov 02 Python
Python调用飞书发送消息的示例
Nov 10 Python
如何在vscode中安装python库的方法步骤
Jan 06 Python
python 图像增强算法实现详解
Jan 24 Python
Python 中Operator模块的使用
Jan 30 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
PHP排序算法的复习和总结
2012/02/15 PHP
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
提高代码性能技巧谈—以创建千行表格为例
2006/07/01 Javascript
jquery仿百度经验滑动切换浏览效果
2015/04/14 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
2016/09/19 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
vue.js的安装方法
2017/05/12 Javascript
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
2017/07/13 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
微信小程序websocket聊天室的实现示例代码
2019/02/12 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
2019/03/08 Javascript
[38:41]2014 DOTA2国际邀请赛中国区预选赛 LGD VS CNB
2014/05/22 DOTA
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
jupyter安装小结
2016/03/13 Python
django模板语法学习之include示例详解
2017/12/17 Python
python顺序的读取文件夹下名称有序的文件方法
2018/07/11 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
称象教学反思
2014/02/03 职场文书
《花的勇气》教后反思
2014/02/12 职场文书
工作评语大全
2014/04/26 职场文书
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
科学发展观标语
2014/10/08 职场文书
戒赌保证书
2015/05/11 职场文书
幼儿园小班班务总结
2015/08/03 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫