from django.shortcuts import reverse,redirect,render
from operations import models
import xlwt
import os
from io import BytesIO
from django.http import HttpResponse def phone_download(request):
phone_all = models.Phone.objects.all()
if phone_all:
# 创建工作簿
wb = xlwt.Workbook(encoding='utf-8')
sheet = wb.add_sheet('order-sheet')
# 写入文件标题
sheet.write(0, 0, '厂商')
sheet.write(0, 1, '型号')
sheet.write(0, 2, 'CPU')
sheet.write(0, 3, '系统版本') data_row = 1 for i in phone_all:
sheet.write(data_row, 0, i.firms)
sheet.write(data_row, 1, i.model)
sheet.write(data_row, 2, i.CPU)
sheet.write(data_row, 3, i.version)
data_row = data_row + 1 # 保存于本地
# exist_file = os.path.exists("test.xls")
# if exist_file:
# os.remove(r"test.xls")
# wb.save("test.xls") # 返回文件给用户,用户操作浏览器对话框保存文件
sio = BytesIO()
wb.save(sio)
sio.seek(0)
# http响应头告知浏览器,返回excel
response = HttpResponse(sio.getvalue(), content_type='application/vnd.ms-excel')
# 浏览器打开/保存的对话框
response['Content-Disposition'] = 'attachment; filename=test.xls'
# 响应体
response.write(sio.getvalue())
return response

models数据结构  

class Phone(models.Model):
id = models.AutoField(primary_key=True)
firms = models.CharField(max_length=32,verbose_name="厂商")
model = models.CharField(max_length=32,verbose_name="型号")
CPU = models.CharField(max_length=32,verbose_name="CPU")
version = models.CharField(max_length=32,verbose_name="系统版本")

python 生成excel,并下载到本地的更多相关文章

  1. phpexcel生成excel并下载

    Loader::import('PHPExcel.Classes.PHPExcel'); // tp5中只需将phpexcel文件放入extend文件夹中,即可采用该方法引入,需要先 use thin ...

  2. 使用node.js生成excel报表下载(excel-export express篇)

    引言:日常工作中已经有许多应用功能块使用了nodejs作为web服务器,而生成报表下载也是我们在传统应用. java中提供了2套类库实现(jxl 和POI),.NET 作为微软的亲儿子更加不用说,各种 ...

  3. java动态生成excel打包下载

    @SuppressWarnings("unchecked") public String batchExport() throws DBException{ @SuppressWa ...

  4. Asp.net MVC 简单实现生成Excel并下载

    由于项目上的需求,需要导出指定条件的Excel文件.经过一翻折腾终于实现了. 现在把代码贴出来分享 (直接把我们项目里面的一部份辅助类的代码分享一下) 我们项目使用的是Asp.Net MVC4.0模式 ...

  5. 后台生成excel前端下载

    后台生成Excel时前端获取下载 Controller控制器: package com.example.test.controller; import com.example.test.common. ...

  6. python生成Excel图表(通过xlsxwriter)

    前面介绍了pandas的简单用法,pandas的数据可以通过matlab第三方包将数据生成报表,但是我想将报表生成在Excel中,这时候就可以借助xlsxwriter第三方包来生成图标   缺点:xl ...

  7. ASP.NET网页生成EXCEL并下载(利用DataGrid或GridView等)

    前几天要在后台查询数据库内容(用entity framework),将查询出来的信息(List或DataTable形式)转成EXCEL供用户下载.经过谷歌.百度搜索,终于搜出了一些代码.似乎可用了,结 ...

  8. python生成excel测试数据

    在功能测试时,经常会测到excel文件导入导出的功能,导入与导出时,需要测试系统单次导入大批量数据时是否正常, 如果系统承受不起太大的数据导入,则需要开发限制单次导入的数量,以防止系统服务异常.大量的 ...

  9. php ajax生成excel并下载

    目标:使用php,通过ajax请求的方式生成一个excel,然后下载. 思路:大致思路是发送一个ajax请求到后台,后台php处理后生成一个excel文件,然后把生成的文件放到一个临时目录,然后把文件 ...

随机推荐

  1. python中的else语句

    python语言和其它语言一样在支持else语句,通常else语句和if语句合用,完成程序的分支选择功能. 例如如下打印学成成绩代码: score = int(input("请输入成绩:&q ...

  2. ELK监控交换机日志

    一.首先部署logstash监控UDP514端口,新建一个配置文件cisco.conf 交换机是通过配置rsyslog服务器来将日志发送到日志服务器的,所以需要在logstash上配置rsyslog监 ...

  3. trigger添加及表达式

    创建触发器 点击Configuration(配置) → Hosts(主机) 点击hosts(主机)相关行的trigger 点击右上角的创建触发器(create trigger) name : 触发器名 ...

  4. java8学习之Stream深度解析与源码实践

    继续对流进行学习,首先先说明一下流的特点: 1.Collection提供了新的stream()方法. 2.流不存储,通过管道的方式获取值. 3.本质是函数式的,对流的操作会生成一个结果,不过并不会修改 ...

  5. Java 和JavaScript实现C#中的String.format效果

    1.Java实现      /**      * 需要引入com.alibaba.fastjson.1.2.8     * String result2=HuaatUtil.format(templa ...

  6. ORACLE纯SQL实现多行合并一行

    项目中遇到一个需求,需要将多行合并为一行.表结构如下:NAME                            Null           Type---------------------- ...

  7. 简单了解Oracle的回滚段

    因为上一次研究了Oracle的事务一致性,中间查阅资料的时候,看到这个地方与回滚段有关.所以就罗列了以下简单的知识.更为深层次的就不再深挖了,个人感觉对于事务的一致性和隔离级别是开发经理应该了解的,但 ...

  8. Notepad++设置快捷键及外部命令

    <NotepadPlus> <InternalCommands> <Shortcut id="41020" Ctrl="no" A ...

  9. ubuntu安装wireshark

    $sudo apt-add-repository ppa:wireshark-dev/stable$sudo apt update$sudo apt install wireshark 出于安全方面的 ...

  10. 微信支付(公众号)爬坑记,包含 total_fee 失败和 JSAPI 签名验证失败等等

    做商城类网站不免会需要做支付功能,目前在中国大陆通用的做法就是使用支付宝支付和微信支付,上一篇博文已经讲个支付宝支付. 这篇文章来讲一讲微信支付,微信支付的方式有很多种,本文主要讲 JSAPI 支付的 ...