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模拟登录百度贴吧(百度贴吧登录)实例
Dec 18 Python
Python实现读取目录所有文件的文件名并保存到txt文件代码
Nov 22 Python
Python2.x版本中基本的中文编码问题解决
Oct 12 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
Mar 04 Python
pandas数据清洗,排序,索引设置,数据选取方法
May 18 Python
基于python的ini配置文件操作工具类
Apr 24 Python
使用 Django Highcharts 实现数据可视化过程解析
Jul 31 Python
Selenium使用Chrome模拟手机浏览器方法解析
Apr 10 Python
python定义具名元组实例操作
Feb 28 Python
Python List remove()实例用法详解
Aug 02 Python
5道关于python基础 while循环练习题
Nov 27 Python
Python中的程序流程控制语句
Feb 24 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最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
2015/12/10 PHP
PHP基于curl后台远程登录正方教务系统的方法
2016/10/14 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
一些常用且实用的原生JavaScript函数
2010/09/08 Javascript
script标签的 charset 属性使用说明
2010/12/04 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
JavaScript如何动态创建table表格
2020/08/02 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
不刷新网页就能链接新的js文件方法总结
2020/03/01 Javascript
Vue事件处理原理及过程详解
2020/03/11 Javascript
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
用python制作游戏外挂
2018/01/04 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
MNIST数据集转化为二维图片的实现示例
2020/01/10 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
2020/01/16 Python
django中嵌套的try-except实例
2020/05/21 Python
Python list和str互转的实现示例
2020/11/16 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
JMS中Topic和Queue有什么区别
2013/05/15 面试题
linux面试题参考答案(6)
2016/06/23 面试题
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
音乐器材管理制度
2014/01/31 职场文书
学校百日安全生产活动总结
2014/07/05 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
学困生帮扶工作总结
2015/08/13 职场文书
个人房屋租赁合同(标准范本)
2019/09/16 职场文书
vue中data改变后让视图同步更新的方法
2021/03/29 Vue.js
SQLServer中exists和except用法介绍
2021/12/04 SQL Server