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结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 Python
django批量导入xml数据
Oct 16 Python
浅谈终端直接执行py文件,不需要python命令
Jan 23 Python
Python安装图文教程 Pycharm安装教程
Mar 27 Python
Python从Excel中读取日期一列的方法
Nov 28 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
Python+OpenCv制作证件图片生成器的操作方法
Aug 21 Python
python 实现return返回多个值
Nov 19 Python
python中urllib.request和requests的使用及区别详解
May 05 Python
python随机模块random的22种函数(小结)
May 15 Python
Vs Code中8个好用的python 扩展插件
Oct 12 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
Jan 01 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
全国中波电台频率表
2020/03/11 无线电
php下安装配置fckeditor编辑器的方法
2011/03/02 PHP
php如何比较两个浮点数是否相等详解
2019/02/12 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
JavaScript中的property和attribute介绍
2011/12/26 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
jquery获取选中的文本和值的方法
2014/07/08 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
angularjs实现天气预报功能
2020/06/16 Javascript
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
玩转Koa之koa-router原理解析
2018/12/29 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
jQuery实现鼠标拖动图片功能
2021/03/04 jQuery
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
[01:44]Ti10举办地公布
2019/08/25 DOTA
Python中的jquery PyQuery库使用小结
2014/05/13 Python
Python中的多行注释文档编写风格汇总
2016/06/16 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
2016/07/08 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
Python中如何导入类示例详解
2019/04/17 Python
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
应届生高等护理求职信
2013/10/12 职场文书
硅酸盐工业控制专业应届生求职信
2013/11/02 职场文书
实习生自我鉴定范文
2013/12/05 职场文书
演讲比赛获奖感言
2014/02/02 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
营业员岗位职责
2015/02/11 职场文书
肖申克救赎观后感
2015/06/02 职场文书
情感电台广播稿
2015/08/18 职场文书
励志语录:只有自己足够强大,才能不被别人践踏
2020/01/09 职场文书
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL