网络编程
位置:首页>> 网络编程>> Python编程>> python 数据生成excel导出(xlwt,wlsxwrite)代码实例

python 数据生成excel导出(xlwt,wlsxwrite)代码实例

作者:南鱼羁荒渡  发布时间:2022-09-17 23:37:31 

标签:python,数据,生成,excel,导出,xlwt,wlsxwrite

这篇文章主要介绍了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

来源:https://www.cnblogs.com/nanyu/p/9984800.html

0
投稿

猜你喜欢

  • SQL Server 2000 的 XML 功能可以简化将现有代码作为 Web 服务提供的任务。本文集中讨论了传入和传出 Transact
  • 索引合并是mysql底层为我们提供的智能算法。了解索引合并的算法,有助于我们更好的创建索引。索引合并是通过多个range类型的扫描并且合并它
  • 两个多月来唯一一次有时间哄么么睡觉,我先给他讲了遍《从前有座山》,还是不睡。又给他讲了这个“保安的故事”:小A是名很敬业的保安,负责保护客户
  • 为什么使用Python    假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从19
  • 喜欢用Python写脚本的小伙伴可以跟着一起写一写呀。编写环境:Python2.x00x1:需要用到的模块需要用到的模块如下:import
  • 背景小程序在网络层提供的API是能够完成一个程序与服务端交互的完整链路,但需要大量的定制化代码,才能实现请求拦截和响应拦截,不太符合大多数开
  • 对于显存不充足的炼丹研究者来说,弄清楚Pytorch显存的分配机制是很有必要的。下面直接通过实验来推出Pytorch显存的分配过程。实验实验
  • (一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clus
  • 代码1:#!/usr/bin/pythonimport numpy as nparr1 = np.arange(10)print(arr1)
  • Python是一个非常实用、流行的解释型编程语言,其优势之一就是可以借助其交互的shell进行探索式地编程。你可以试着输入一些代码,然后马上
  • 导语记得很久以前写过一些中国大学MOOC上的视频下载器,不过好像都已经年久失修了。正好最近有需要,所以重新写了一个,顺便上来分享一波,寒假大
  • 如果您想详细了解eval和JSON请参考以下链接:eval  :https://developer.mozilla.org/En/
  •  代码如下:SELECT [StartDate] FROM [dbo].[udf_Week](2012,2012) WHERE [
  • 我的终极整理,供参考# coding:utf-8import matplotlib# 使用 matplotlib中的FigureCanvas
  • 坑:在python3.7环境下,通过官方文档安装sanic即扩展插件,但是 sanic-ext包不起作用,具体的表现为:无法打开路由/doc
  • 要求,输入一串数字,并以列表的形式打印出来。number = input('请输入一串数字:') print(number)
  • 本文实例为大家分享了python实现批处理文件的具体代码,供大家参考,具体内容如下Windows下的bat, linux 下的shell 用
  • 前言针对一些特殊的需求,在项目里,需要将响应式数据变为普通原始类型数据,这种情况是有的在Vue里,能够将普通数据类型的数据变为响应式数据,同
  • K折交叉交叉验证的过程如下以200条数据,十折交叉验证为例子,十折也就是将数据分成10组,进行10组训练,每组用于测试的数据为:数据总条数/
  • 导语大家以前应该都听说过一个游戏:叫做走四棋儿这款游戏出来到现在时间挺长了,小时候的家乡农村条件有限,附近也没有正式的玩具店能买到玩具,因此
手机版 网络编程 asp之家 www.aspxhome.com