将django的HTTP响应保存为excel

最近为团队在公司内部建的站好多页面中需要导出为excel格式,在网上查了查之后终于实现了,在这里记录一下,以便日后需要时查看一下。这里需要python中安装xlwt模块,代码大致如下:

#encoding=utf-8

import xlwt
from django.http import HttpResponse
from django.template.loader import get_template
from django.db import connection


def save_asset_xls(request):
        sql = 'select * from book';

        cursor = connection.cursor()   
        cursor.execute(data_sql)       
        row_all = cursor.fetchall()

        _lst = []
        _lst.extend(row_all[:])        
        _lst.insert(0, ['列1', '列2', '列3'])

        book = xlwt.Workbook(encoding='utf8') 
        sheet = book.add_sheet('untitled')

        for row, rowdata in enumerate(_lst):
            for col, val in enumerate(rowdata):
                sheet.write(row, col, val, style=xlwt.Style.default_style)

        response = HttpResponse(mimetype='application/vnd.ms-excel')
        response['Content-Disposition'] = 'attachment; filename=example.xls'
        book.save(response)
        return response


这里给出了一个从数据库查找数据然后导出excel的代码,并以HTTP响应的方式返回给浏览器。当然也可以将数据直接存成本地文件,只要把book.save(response)改为book.save('/tmp/test.xls')就可以了。


WebOffice是一款由北京点聚信息技术有限公司提供的完全免费(商业用途也免费)且功能强大的在线Word/excel/wps编辑辅助控件,可以实现: 1.在线编辑Word、Excel、PPT、WPS... ... 2.全面支持MS Office的界面定制,包括对于Office2007的全面支持 3.修订留痕 4.限制打印、保存、复制 5.直接保存到服务器,支持标准Http Post协议 6.强大的书签管理 7.套红、文档保护 8.模板管理 9.其他功能扩展 10.提供开发论坛http://www.dianju.cn/forum/,在其中提供软件更新及问题回答服务 本控件不同于其它同类软件,不是基于微软的开放源码DsoFramer,也不基于OLE,可以解决DsoFramer及其派生产品的一些稳定性问题 本控件不同于其它同类收费软件,本控件完全免费和界面完全可控制。 点聚会定期更新本控件,并解答论坛上的询问,免费不代表免服务,每一个使用者都能得到及时服务。 安装包内包含: 1.WebOffice安装包(仅包含WebOffice控件) 2.WebOffice接口SDK 3.WebOffice网页接口调用例子 4.DES手写及签章系统(Office签章系统)试用版。 5.演示章及证书 6.点聚产品白皮书 WebOffice组件可以无缝集成点聚公司的电子签章和手写审批类产品。 点聚信息(http://www.dianju.com.cn)是国内专业的安全和文档中间件软件制造商。公司注重自主知识产权产品的研发,始终坚持技术为本、服务为先的原则,在电子印章、手写签批、安全版式文档和电子表单等领域处于国内领先水平。 点聚自主研发的版式文件系统独创性的将整个系统缩小为1M大小的组件,并在多项重要技术指标上领先PDF和其它版式格式。 点聚支持全系列手写及签章解决方案,可同时提供Office签章系统(Word/Excel/Wps)、网页签章系统、版式签章系统. 点聚是国内唯一一家同时拥有国密和军密资质的电子印章及安全文档产品提供商(国密、军密、公安部销售许可)。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值