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多进程编程技术实例分析
Sep 16 Python
Python 基础教程之包和类的用法
Feb 23 Python
用virtualenv建立多个Python独立虚拟开发环境
Jul 06 Python
python实现守护进程、守护线程、守护非守护并行
May 05 Python
python中字符串内置函数的用法总结
Sep 13 Python
基于python指定包的安装路径方法
Oct 27 Python
python实现的汉诺塔算法示例
Oct 23 Python
PyQt5多线程刷新界面防假死示例
Dec 13 Python
Django实现随机图形验证码的示例
Oct 15 Python
python 实现数据库中数据添加、查询与更新的示例代码
Dec 07 Python
Django操作cookie的实现
May 26 Python
使用python+pygame开发消消乐游戏附完整源码
Jun 10 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使用curl模拟登录后采集页面的例子
2013/11/04 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
2014/05/10 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
JS正则表达式判断有效数实例代码
2017/03/13 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
2018/08/15 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
2018/08/27 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
[54:10]完美世界DOTA2联赛PWL S2 Magma vs FTD 第二场 11.29
2020/12/03 DOTA
Python回调函数用法实例详解
2015/07/02 Python
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
Python读写zip压缩文件的方法
2018/08/29 Python
PYTHON如何读取和写入EXCEL里面的数据
2019/10/28 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
pytorch之添加BN的实现
2020/01/06 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
2020/03/23 Python
python爬取天气数据的实例详解
2020/11/20 Python
Rossignol金鸡美国官网:始于1907年法国百年雪具品牌
2019/03/06 全球购物
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
踏青活动策划方案
2014/08/19 职场文书
专家推荐信范文
2015/03/26 职场文书
国庆节新闻稿
2015/07/17 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle
如何判断pytorch是否支持GPU加速
2021/06/01 Python
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
Spring Cloud 中@FeignClient注解中的contextId属性详解
2021/09/25 Java/Android
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python