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脚本实现分析dns日志并对受访域名排行
Sep 18 Python
浅述python中argsort()函数的实例用法
Mar 30 Python
python 使用re.search()筛选后 选取部分结果的方法
Nov 28 Python
python读取文件名并改名字的实例
Jan 07 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
Jan 15 Python
OpenCV图像颜色反转算法详解
May 13 Python
python爬虫豆瓣网的模拟登录实现
Aug 21 Python
Python装饰器使用你可能不知道的几种姿势
Oct 25 Python
django模板获取list中指定索引的值方式
May 14 Python
selenium学习教程之定位以及切换frame(iframe)
Jan 04 Python
python 30行代码实现蚂蚁森林自动偷能量
Feb 08 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数据导出知识点
2018/02/17 PHP
php实现有序数组旋转后寻找最小值方法
2018/09/27 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
JS setCapture 区域外事件捕捉
2010/03/18 Javascript
jQuery类选择器用法实例
2014/12/23 Javascript
JavaScript操作cookie类实例
2015/03/31 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
2015/11/30 Javascript
日常收藏的jquery技巧
2015/12/02 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
2016/12/14 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
微信小程序实现上拉加载功能
2019/11/20 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
使用JavaScript通过前端发送电子邮件
2020/05/22 Javascript
Python open()文件处理使用介绍
2014/11/30 Python
python 循环遍历字典元素的简单方法
2016/09/11 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
瑞士隐形眼镜和护理产品网上商店:Linsenklick
2019/10/21 全球购物
一道输出判断型Java面试题
2014/10/01 面试题
网游商务专员求职信
2013/10/15 职场文书
酒店实习个人鉴定
2013/12/07 职场文书
导游的职业规划书范文
2013/12/27 职场文书
小学毕业家长寄语
2014/01/19 职场文书
《小草和大树》教学反思
2014/02/16 职场文书
心理健康日活动总结
2014/05/08 职场文书
实习计划书范文
2015/01/16 职场文书
公司管理制度范本
2015/08/03 职场文书
宣传委员竞选稿
2015/11/19 职场文书
90行Python代码开发个人云盘应用
2021/04/20 Python