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 相关文章推荐
本地文件上传到七牛云服务器示例(七牛云存储)
Jan 11 Python
详解Python中映射类型(字典)操作符的概念和使用
Aug 19 Python
使用Python的package机制如何简化utils包设计详解
Dec 11 Python
python 获取当天凌晨零点的时间戳方法
May 22 Python
浅谈python中对于json写入txt文件的编码问题
Jun 07 Python
python中利用matplotlib读取灰度图的例子
Dec 07 Python
Python代码生成视频的缩略图的实例讲解
Dec 22 Python
Python实现剪刀石头布小游戏(与电脑对战)
Dec 31 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 26 Python
Python如何使用神经网络进行简单文本分类
Feb 25 Python
python Protobuf定义消息类型知识点讲解
Mar 02 Python
Python学习之异常中的finally使用详解
Mar 16 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中文件上传的安全问题
2006/10/09 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
实例化php类时传参的方法分析
2020/06/05 PHP
CSDN轮换广告图片轮换效果
2007/03/27 Javascript
Prototype1.6 JS 官方下载地址
2007/11/30 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
JavaScript实现横向滑出的多级菜单效果
2015/10/09 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
2018/03/13 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
2018/06/08 Javascript
Smartour 让网页导览变得更简单(推荐)
2019/07/19 Javascript
通过实例了解Nodejs模块系统及require机制
2020/07/16 NodeJs
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
Python中使用wxPython开发的一个简易笔记本程序实例
2015/02/08 Python
Python itertools模块详解
2015/05/09 Python
Python中取整的几种方法小结
2017/01/06 Python
Django验证码的生成与使用示例
2017/05/20 Python
Python2.7下安装Scrapy框架步骤教程
2017/12/22 Python
python自动登录12306并自动点击验证码完成登录的实现源代码
2018/04/25 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
python pyg2plot的原理知识点总结
2021/02/28 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
为什么要优先使用同步代码块而不是同步方法?
2013/01/30 面试题
工作迟到检讨书
2014/02/21 职场文书
新闻专业毕业生求职信
2014/08/08 职场文书
网络销售员岗位职责
2015/04/11 职场文书
春晚观后感
2015/06/11 职场文书
体育教师研修感悟
2015/11/18 职场文书
2016八一建军节慰问信
2015/11/30 职场文书