ajax调用api改表格数据库,【django基础】django接口 异步ajax请求 导出数据库成excel表(包裹前端后端)...

py文件:

from django.utils.http import urlquote

from rest_framework.views import APIView

from django.shortcuts import render, redirect, HttpResponse

from dal import models

from django.http import JsonResponse, FileResponse, StreamingHttpResponse

import os

import xlwt

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # C:\Users\user\Desktop\DownTest

class fileShow(APIView):

def get(self, request):

message = {}

userinfo = models.UserInfo.objects.all()

workbook = xlwt.Workbook(encoding='utf-8') # 新建工作簿\

sheet1 = workbook.add_sheet("用户表") # 新建sheet

sheet1.write(0, 0, "ID") # 第1行第1列数据

sheet1.write(0, 1, "用户名") # 第1行第1列数据

sheet1.write(0, 2, "密码") # 第1行第1列数据

sheet1.write(0, 3, "创建时间") # 第1行第1列数据

path = BASE_DIR + "\\utils\\username.xlsx" # 储存路径

excel_row = 1

for obj in userinfo:

data_id = obj.id

data_username = obj.username

data_password = obj.password

data_time = obj.create_time

sheet1.write(excel_row, 0, data_id)

sheet1.write(excel_row, 1, data_username)

sheet1.write(excel_row, 2, data_password)

sheet1.write(excel_row, 3, str(data_time))

excel_row += 1

workbook.save(path)

file = open(path,'rb') # 字符串替换成文件

print("file",file.name)

# file_names = file.name.split('/')[-1]

# print("file_names",file_names)

response = FileResponse(file)

response['Content-Type'] = 'application/octet-stream'

response['Content-Disposition'] = "attachment;filename={}".format(urlquote(path)) # 字符串替换成下载文件

print(response)

return response

html的ajax请求:

下载文件 一个按钮

请求:

// 下载文件

$("#up").on("click", function () {

$.ajax({

url: "down/",

type: "get",

data: {},

success: function (data) {

var $a = $('');

$a.attr("href", "http://127.0.0.1:8000/down/"); # 红色的是你下载路径

$("body").append($a);

$a[0].click();

$a.remove();

}

})

python实现导出excel表(前端+后端)

之前在做项目管理系统的时候需要实现将数据导出到excel表的功能,搜索之后发现了python的xlwt模块可以很好的实现这项功能. 首先是导入xlwt模块: import xlwtfrom io im ...

phpexcel导出数据库成excel文件

Ajax请求导出Excel的问题

文章转载自: http://yuwenlin.iteye.com/blog/2275289 Ajax请求导出Excel的问题描述: 前端发起Ajax请求get或post,后台使用Poi生成excel文 ...

mysqldump 导出数据库为DBname的表名为Tname的表结构 导出数据库的所有表的表结构

mysqldump -uroot -p password -d DBname Tname >db.sql #关建点是"-d"参数 导出数据库的所有表的表结构 mysqldum ...

mysql 导入导出数据库、数据表的方法

mysql 导入导出数据库.数据表的方法. Linux操作系统中,均在控制台下操作.1,导入数据库:前提:数据库和数据表要存在(已经被创建)(1)将数据表 test_user.sql 导入到test ...

django基础之day08,ajax结合sweetalert的使用

models.py文件 from django.db import models class User(models.Model): username=models.CharField(max_len ...

Django基础--Django基本命令、路由配置系统(URLconf)、编写视图、Template、数据库与ORM

web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构. 使用框架可以帮你快速开发特定的系统. 简单地说,就是你用别人搭建好的舞台来做表演. 尝试搭建一个简单 ...

异步ajax请求数据处理

jQuery.ajax(url,[settings]) 概述 通过 HTTP 请求加载远程数据. jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax ...

Jquery ajax请求导出Excel表格

直接贴代码吧 $("#btn-export").click(function(){ var exportExcel = "export_excel"; data ...

随机推荐

设计模式 “续”

观察者模式 再次申明,本文学习自 程杰 兄的 "大话设计模式" 根据书中的内容和自己的体会而来. 观察者模式也叫 发布.订阅模式,在这个模式里,一个目标物件管理所有依赖它的观察者物 ...

matlab练习程序(最小包围矩形)

又是计算几何,我感觉最近对计算几何上瘾了. 当然,工作上也会用一些,不过工作上一般直接调用boost的geometry库. 上次写过最小包围圆,这次是最小包围矩形,要比最小包围圆复杂些. 最小包围矩形 ...

Java爬虫搜索原理实现

permike 原文 Java爬虫搜索原理实现 没事做,又研究了一下爬虫搜索,两三天时间总算是把原理闹的差不多了,基本实现了爬虫搜索的原理,本次实现还是俩程序,分别是按广度优先和深度优先完成的,广度优 ...

Learning to Rank算法介绍:GBRank

之前的博客:http://www.cnblogs.com/bentuwuying/p/6681943.html中简单介绍了Learning to Rank的基本原理,也讲到了Learning to R ...

python3之序列化(pickle&json&shelve)

1.pickle模块 python持久化的存储数据: python程序运行中得到了一些字符串,列表,字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据.python ...

[BJOI 2011]元素

Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石.一般地,矿石越多则法力越强 ...

基准对象object中的基础类型----字典 (六)

object有如下子类: CLASSES object basestring str unicode buffer bytearray classmethod complex dict enumera ...

深入理解Java虚拟机5-chap7-斗者2星

一.类加载机制 1.类加载机制:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Class文件加载到内存,这就是类加载机制. 2.类型 ...

SpringBoot无法书写主启动类的情况之一

首先需要引入 spring-boot-starter-web 依赖[springboot web 项目 启动器 jar包]: 如果使用镜像请确保镜像路径正确,可参看笔者博客园m-yb的maven 安装 ...

idea中的maven模块变成灰色的可能原因

在使用idea的过程中,遇到其中一个maven模块变成灰色,如下所示: 造成这个的原因可能是忽略了maven模块,可以尝试如下解决方法:在idea中maven的setting中找到ignored fi ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值