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 greenlet实现原理和使用示例
Sep 24 Python
Python实现从url中提取域名的几种方法
Sep 26 Python
Python3.2中的字符串函数学习总结
Apr 23 Python
PyCharm代码整体缩进,反向缩进的方法
Jun 25 Python
基于python实现名片管理系统
Nov 30 Python
python将excel转换为csv的代码方法总结
Jul 03 Python
python各类经纬度转换的实例代码
Aug 08 Python
Python socket模块ftp传输文件过程解析
Nov 05 Python
python实现人机猜拳小游戏
Feb 03 Python
Python request操作步骤及代码实例
Apr 13 Python
使用python把xmind转换成excel测试用例的实现代码
Oct 12 Python
Python自动操作神器PyAutoGUI的使用教程
Jun 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
文章推荐系统(二)
2006/10/09 PHP
ThinkPHP中处理表单中的注意事项
2014/11/22 PHP
PHP+JS实现大规模数据提交的方法
2015/07/02 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
asm.js使用示例代码
2013/11/28 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
AngularJS中$apply方法和$watch方法用法总结
2016/12/13 Javascript
vue实现简单实时汇率计算功能
2017/01/15 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
Python unittest模块用法实例分析
2018/05/25 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
对Python函数设计规范详解
2019/07/19 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
2019/08/26 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
如何用Python绘制3D柱形图
2020/09/16 Python
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
说明书怎么写
2014/05/06 职场文书
单位承诺书格式
2014/05/21 职场文书
乡镇防汛工作汇报
2014/10/28 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
工作证明格式范文
2015/06/15 职场文书
MySQL transaction事务安全示例讲解
2022/06/21 MySQL