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基于socket实现简单的即时通讯功能示例
Jan 16 Python
python调用xlsxwriter创建xlsx的方法
May 03 Python
Python中几种属性访问的区别与用法详解
Oct 10 Python
python3.x实现base64加密和解密
Mar 28 Python
使用Python和Prometheus跟踪天气的使用方法
May 06 Python
Python实现的对一个数进行因式分解操作示例
Jun 27 Python
Python迭代器iterator生成器generator使用解析
Oct 24 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
Apr 07 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
May 25 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
Jun 09 Python
Python安装并操作redis实现流程详解
Oct 13 Python
python 6种方法实现单例模式
Dec 15 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
关于我转生变成史莱姆这档事:第二季PV上线,萌王2021年回归
2020/05/06 日漫
php中call_user_func函数使用注意事项
2014/11/21 PHP
php关联数组快速排序的方法
2015/04/17 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
php 中htmlentities导致中文无法查询问题
2018/09/10 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
js实现iframe动态调整高度的代码
2008/01/06 Javascript
一款js和css代码压缩工具[附JAVA环境配置方法]
2010/04/16 Javascript
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
JS给Textarea文本框添加行号的方法
2015/08/20 Javascript
基于jQuery实现多层次的手风琴效果附源码
2015/09/21 Javascript
js实现图片上传并正常显示
2015/12/19 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
JavaScript前端页面搜索功能案例【基于jQuery】
2019/07/10 jQuery
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
python实现扫描日志关键字的示例
2018/04/28 Python
pyqt5实现登录界面的模板
2020/05/30 Python
python sorted函数的小练习及解答
2019/09/18 Python
深入浅析Python 函数注解与匿名函数
2020/02/24 Python
python读取mysql数据绘制条形图
2020/03/25 Python
Python extract及contains方法代码实例
2020/09/11 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
英国标志性生活方式品牌:Skinnydip London
2019/12/15 全球购物
新员工欢迎词
2014/01/12 职场文书
销售顾问岗位职责
2014/02/25 职场文书
运动会闭幕式致辞
2015/07/29 职场文书
jQuery实现影院选座订座效果
2021/04/13 jQuery
redis中lua脚本使用教程
2021/11/01 Redis