python实现数据导出到excel的示例--普通格式

yipeiwu_com5年前Python基础

此文是在django框架下编写,从数据库中获取数据使用的是django-orm

用python导出数据到excel,简单到爆!(普通的excel格式)

安装xlwt

pip install xlwt

编写py文件

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("无数据")

以上这篇python实现数据导出到excel的示例--普通格式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python3 map函数和filter函数详解

map()函数可以对一个数据进行同等迭代操作。例如: def f(x): return x * x r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]...

python3在同一行内输入n个数并用列表保存的例子

最近在学习算法,经常遇到一行有多个数据,用空格或者','进行分割。最开始不懂,直接百度, n = input() n = int(n) list1 = [] list1 = inpu...

CentOS 6.X系统下升级Python2.6到Python2.7 的方法

第一步:升级python CentOs 6.x的系统默认安装的Python版本是2.6.x,想升级到Python2.7.x,从官方下载源文件,然后解压、编译 wget http:...

Python之列表实现栈的工作功能

问题: python中使用列表实现栈的功能 """ 栈的工作原理 入栈 出栈 查看栈顶元素 栈的长度 栈是否为空 """ stack = [] info = ""...

Python 学习教程之networkx

networkx是Python的一个包,用于构建和操作复杂的图结构,提供分析图的算法。图是由顶点、边和可选的属性构成的数据结构,顶点表示数据,边是由两个顶点唯一确定的,表示两个顶点之间的...