# coding:utf-8
from django.http import HttpResponse
from xlwt import *
import StringIO, os
from test_celery.models import PhoneNumber

def excel_out(request):
    number_list = PhoneNumber.objects.all().order_by('time')
    if number_list:
        ws = Workbook(encoding='utf-8')
        w = ws.add_sheet(u'电话本', cell_overwrite_ok=True)
        w.write(0, 0, u'编号')
        w.write(0, 1, u'姓名')
        w.write(0, 2, u'性别')
        w.write(0, 3, u'时间')
        excel_row = 1
        for number in number_list:
            id = number.id
            name = number.name
            sex = number.sex
            time = str(number.time)
            w.write(excel_row, 0, id)
            w.write(excel_row, 1, name)
            w.write(excel_row, 2, sex)
            w.write(excel_row, 3, time)
            excel_row += 1

        # 保存于本地
        # exist_file = os.path.exists('phone.xls')
        # if exist_file:
        #     os.remove(r'phone.xls')
        # ws.save('phone.xls')

        # 返回文件给用户,用户操作浏览器对话框保存文件
        sio = StringIO.StringIO()
        ws.save(sio)
        sio.seek(0)
        # http响应头告知浏览器,返回excel
        response = HttpResponse(sio.getvalue(), content_type='application/vnd.ms-excel')
        # 浏览器打开/保存的对话框
        response['Content-Disposition'] = 'attachment;filename=phone.xls'
        # 响应体
        response.write(sio.getvalue())
        return response

django导出excel的更多相关文章

  1. django 导出excel react下载 --- 导出并下载

    Dajngo查询数据,查询出来之后生成Excel保存本地 class ExportExcel(APIView): def post(self, request, *args, **kwargs): e ...

  2. Django导出excel中文乱码解决方案

    Django官方文档有关于怎么生成csv文件的方法 import csv from django.http import HttpResponse def some_view(request): # ...

  3. [django]数据导出excel升级强化版(很强大!)

    不多说了,原理采用xlwt导出excel文件,所谓的强化版指的是实现在网页上选择一定条件导出对应的数据 之前我的博文出过这类文章,但只是实现导出数据,这次左思右想,再加上网上的搜索,终于找出方法实现条 ...

  4. django页面导出excel

    from django.http import HttpResponse from xlwt import * from io import BytesIO def excel_export(requ ...

  5. django导入导出excel实践

    一.xlrd和xlwt模块介绍 xlrd模块提供在任何平台上从excel电子表格(.xls和.xlsx)中提取数据的功能,xlwt模块提供生成与Microsoft Excel 95 到2003版本兼容 ...

  6. django+uwsgi+nginx 导出excel超时问题

    一.问题现象和日志报错 之前在项目实现了excel导入导出:django导入导出excel实践,之前一直稳定运行,突然得知导出用户信息时出现nginx错误报告: 查看nginx日志,报错信息如下所示: ...

  7. Django Admin中增加导出Excel功能

    参考: https://www.cnblogs.com/yoyo008/p/9232805.html 在使用Django Admin时, 对于列表我们有时需要提供数据导出功能, 如下图: 在Djang ...

  8. 【django】 django后台管理 导出excel表

    from django.contrib import admin # Register your models here. import xlwt from django.http import Ht ...

  9. C#使用Aspose.Cells导出Excel简单实现

    首先,需要添加引用Aspose.Cells.dll,官网下载地址:http://downloads.aspose.com/cells/net 将DataTable导出Xlsx格式的文件下载(网页输出) ...

随机推荐

  1. 【数据库】软件安全测试之SQL注入

    这些年我们发现越来越多的公司开始注重安全测试了,为什么?因为安全测试可以在某种程度上可以排查掉你项目的一些安全漏洞,这样你的系统上线后才会相对安全,才有可能尽量避免来自外部的攻击.每一年互联网都会发生 ...

  2. webpack构建react多页面应用

    写这个的初衷是很难找一个简洁的项目脚手架,很多脚手架都有很多依赖,光看依赖就要很久,所以自己参照网上的内容,弄个这么一个简单的多页面的脚手架. 利用creat-react-app 新建一个react应 ...

  3. rsync同步文件(多台机器同步代码...)

    常用组合   rsync -av --delete-after --exclude-from="a.txt"  x/x -e ssh x:/x/x   a.txt 制定忽略的文件, ...

  4. 差分约束系统专题 && 对差分约束系统的理解

    具体能解决的问题: 求最长路,最短路,或者判断解是否存在. 在建边的时候: 一般是给你区间减法的关系,或者是这个点到另一个点的关系.如果给你的关系是除法的话,我们可以通过使用两边同时取log的方式,将 ...

  5. 用jquery实现toast的原理

    function toast(mess){ var str='<div class="mess"><span></span></div&g ...

  6. LINUX vim 修改文件 退出

    vim 保存退出, 先按ESC ,然后:wq(保存退出)W:write,写入 Q:quit,退出, 也可以直接输入X,代表WQ,也是保存退出 或者 先按ESC,再按shift+ZZ 也是保存退出 正常 ...

  7. MySQL 5.7.17 Group Relication(组复制)搭建手册【转】

    本博文介绍了Group Replication的两种工作模式的架构.并详细介绍了Single-Master Mode的部署过程,以及如何切换到Multi-Master Mode.当然,文末给出了Gro ...

  8. Interger不可变原理

    1.先看代码: package main.java.db.mq; public class TestSwap { public static void main(String[] args) { In ...

  9. mybatis比hibernate处理速度快的原因

    mybatis:是面向结果集的.当要展示的页面需要几个字段时,springmvc会提供这几个字段并将其拼接成结果集,在转化为相应的对象. hibernate:是面向对象的.要展示的页面需要某些字段时, ...

  10. java基础60 JavaScript字符串转换成数字(网页知识)

    1.字符串转换成数字 <!doctype html> <html> <head> <meta charset="utf-8"> &l ...