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中的descriptor描述器的作用及用法
Jun 27 Python
Python实现定时精度可调节的定时器
Apr 15 Python
解决Tensorflow安装成功,但在导入时报错的问题
Jun 13 Python
Python将一个Excel拆分为多个Excel
Nov 07 Python
对Python协程之异步同步的区别详解
Feb 19 Python
Django 静态文件配置过程详解
Jul 23 Python
使用python的turtle绘画滑稽脸实例
Nov 21 Python
pandas 中对特征进行硬编码和onehot编码的实现
Dec 20 Python
python如何获得list或numpy数组中最大元素对应的索引
Nov 16 Python
python脚本定时发送邮件
Dec 22 Python
Python从MySQL数据库中面抽取试题,生成试卷
Jan 14 Python
python 模拟在天空中放风筝的示例代码
Apr 21 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
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
php获取操作系统语言代码
2013/11/04 PHP
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
PHP网站建设的流程与步骤分享
2015/09/25 PHP
php获取远程文件大小
2015/10/20 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
PHP fopen中文文件名乱码问题解决方案
2020/10/28 PHP
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
FF IE兼容性的修改小结
2009/09/02 Javascript
javascript闭包的高级使用方法实例
2013/07/04 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
JS动态加载当前时间的方法
2015/02/09 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
2016/06/08 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
Angular.js中angular-ui-router的简单实践
2017/07/18 Javascript
vue中使用gojs/jointjs的示例代码
2018/08/24 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
利用Python实现网络测试的脚本分享
2017/05/26 Python
纯python实现机器学习之kNN算法示例
2018/03/01 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
Python如何创建装饰器时保留函数元信息
2020/08/07 Python
python opencv实现图像配准与比较
2021/02/09 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
关于母亲节的感言
2014/02/04 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
以权谋私检举信范文
2015/03/02 职场文书