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 ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
Jun 10 Python
Python实现的数据结构与算法之双端队列详解
Apr 22 Python
Python如何快速实现分布式任务
Jul 06 Python
Python实现字符串匹配的KMP算法
Apr 04 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 Python
python批量将excel内容进行翻译写入功能
Oct 10 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
Dec 19 Python
python几种常用功能实现代码实例
Dec 25 Python
从训练好的tensorflow模型中打印训练变量实例
Jan 20 Python
pycharm实现print输出保存到txt文件
Jun 01 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
Nov 06 Python
Python实现微信表情包炸群功能
Jan 28 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+DBM的同学录程序(2)
2006/10/09 PHP
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
关于laravel 子查询 & join的使用
2019/10/16 PHP
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
Python优先队列实现方法示例
2017/09/21 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
2019/07/31 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
个人简历自我评价八例
2013/10/31 职场文书
师范大学应届生求职信
2013/11/21 职场文书
高中毕业自我鉴定
2013/12/13 职场文书
办公室主任主任岗位责任制
2014/02/11 职场文书
四年级学生评语大全
2014/04/21 职场文书
2014年百日安全生产活动总结
2014/05/04 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
2014年网管工作总结
2014/12/11 职场文书
2015年化验室工作总结
2015/04/23 职场文书
疾病证明书
2015/06/19 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
python tkinter实现定时关机
2021/04/21 Python