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中内建函数的简单用法说明
May 05 Python
深入浅析python继承问题
May 29 Python
听歌识曲--用python实现一个音乐检索器的功能
Nov 15 Python
Python如何调用JS文件中的函数
Aug 16 Python
python配置文件写入过程详解
Oct 19 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
Jun 02 Python
python 基于Apscheduler实现定时任务
Dec 15 Python
python基于Kivy写一个图形桌面时钟程序
Jan 28 Python
Python绘制分类图的方法
Apr 20 Python
python实现的web监控系统
Apr 27 Python
4种非常实用的python内置数据结构
Apr 28 Python
教你怎么用Python selenium操作浏览器对象的基础API
Jun 23 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和ACCESS写聊天室(四)
2006/10/09 PHP
开源SNS系统-ThinkSNS
2008/05/18 PHP
PHPMyAdmin 快速配置方法
2009/05/11 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
JS操作CSS随机改变网页背景实现思路
2014/03/10 Javascript
jQuery使用之设置元素样式用法实例
2015/01/19 Javascript
jQuery实现平滑滚动到指定锚点的方法
2015/03/20 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
2015/04/02 Javascript
基于javascript实现图片切换效果
2016/04/17 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
微信小程序中多个页面传参通信的学习与实践
2017/05/05 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
浅谈vuex 闲置状态重置方案
2018/01/04 Javascript
Vue 中如何正确引入第三方模块的方法步骤
2019/05/05 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
Python类中的装饰器在当前类中的声明与调用详解
2020/04/15 Python
如何利用python 读取配置文件
2021/01/06 Python
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
丝芙兰新加坡官网:Sephora新加坡
2018/12/04 全球购物
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
中学生爱国演讲稿
2013/12/31 职场文书
网页美工求职信范文
2014/04/17 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
车间统计员岗位职责
2015/04/14 职场文书
管辖权异议上诉状
2015/05/23 职场文书
东京审判观后感
2015/06/01 职场文书
创业计划书之水果店
2019/07/18 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android