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操作xml文件详细介绍
Jun 09 Python
Python中return语句用法实例分析
Aug 04 Python
python使用fcntl模块实现程序加锁功能示例
Jun 23 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
Jan 30 Python
pyqt远程批量执行Linux命令程序的方法
Feb 14 Python
opencv-python 读取图像并转换颜色空间实例
Dec 09 Python
PyCharm刷新项目(文件)目录的实现
Feb 14 Python
使用python求解二次规划的问题
Feb 29 Python
Python响应对象text属性乱码解决方案
Mar 31 Python
Python通过kerberos安全认证操作kafka方式
Jun 06 Python
python自动化八大定位元素讲解
Jul 09 Python
基于Python实现对比Exce的工具
Apr 07 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
phpmyadmin的#1251问题
2006/11/25 PHP
使用PHP的日期与时间函数技巧
2008/04/24 PHP
ajax php 实现写入数据库
2009/09/02 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
php实现分页显示
2015/11/03 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
javascript 年月日联动实现核心代码
2009/12/21 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
js读写cookie实现一个底部广告浮层效果的两种方法
2013/12/29 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
Vue组件间通信 Vuex的用法解析
2019/08/05 Javascript
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
python通过pil将图片转换成黑白效果的方法
2015/03/16 Python
python实现文本文件合并
2015/12/29 Python
Python用UUID库生成唯一ID的方法示例
2016/12/15 Python
Python插件virtualenv搭建虚拟环境
2017/11/20 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
django admin.py 外键,反向查询的实例
2019/07/26 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
电气专业推荐信范文
2013/11/18 职场文书
第一批党的群众路线教育实践活动工作总结
2014/03/03 职场文书
《风筝》教学反思
2014/04/10 职场文书
群众路线剖析材料怎么写
2014/10/09 职场文书
党的作风建设心得体会
2014/10/22 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
财务年终工作总结大全
2019/06/20 职场文书