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 相关文章推荐
wxpython 学习笔记 第一天
Mar 16 Python
python类和函数中使用静态变量的方法
May 09 Python
使用Python来编写HTTP服务器的超级指南
Feb 18 Python
Python实现随机生成有效手机号码及身份证功能示例
Jun 05 Python
python内置函数:lambda、map、filter简单介绍
Nov 16 Python
50行Python代码实现人脸检测功能
Jan 23 Python
pytorch 数据集图片显示方法
Jul 26 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
Oct 14 Python
python爬虫实现POST request payload形式的请求
Apr 30 Python
在Sublime Editor中配置Python环境的详细教程
May 03 Python
python定时截屏实现
Nov 02 Python
Python txt文件如何转换成字典
Nov 03 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防止form重复提交的方法
2013/07/01 PHP
php检测用户是否用手机(Mobile)访问网站的类
2014/01/09 PHP
php模拟登陆的实现方法分析
2015/01/09 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
Laravel中10个有用的用法小结
2019/05/06 PHP
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
JS 在指定数组中随机取出N个不重复的数据
2014/06/10 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
jQuery给元素添加样式的方法详解
2015/12/30 Javascript
AngularJS实现Model缓存的方式
2016/02/03 Javascript
分享12个非常实用的JavaScript小技巧
2016/05/11 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
VUE简单的定时器实时刷新的实现方法
2019/01/20 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
[39:53]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.19
2020/11/19 DOTA
python中Genarator函数用法分析
2015/04/08 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
用Python读取几十万行文本数据
2018/12/24 Python
Django REST framework视图的用法
2019/01/16 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
python随机生成库faker库api实例详解
2019/11/28 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
scrapy头部修改的方法详解
2020/12/06 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
HTML5中使用json对象的实例代码
2018/09/10 HTML / CSS
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
运动会广播稿200字
2014/01/15 职场文书
校园广播稿100字
2014/10/06 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
党员剖析材料范文
2014/12/18 职场文书
MySQL常用慢查询分析工具详解
2022/08/14 MySQL