JavaScript方法

function importTemplate() {
$.ajax({
url: "/importTemplate",
type: "get",
success: function (data) {
let downloadUrl = "../importTemplate"
// 创建a标签
let label = $("<a>");
// 添加属性
label.prop("href",downloadUrl);
// 追加标签
$("body").append(label);
// 点击a标签
label[0].click();
// 点击后移除标签
label.remove();
}
})
}

//Excel导出
form.on('submit(exportExcel)', function (){
var dataJson = {};
if (book_tb_this != null) {
console.log("缓存数据格式:",book_tb_this.where);
dataJson = book_tb_this.where;
}
$.ajax({
url: "status/export",
data: dataJson,
type: "get",
xhrFields: {
responseType: 'blob' // 设置响应类型为二进制流
},
success: function (response, status, xhr) {
// 从响应头获取文件名
var blob = new Blob([response], { type: xhr.getResponseHeader('Content-Type') });
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = "占用状态报表.xlsx";
// 设置下载文件的名称
link.click();
}
})
});


后端输出流
OutputStream os = null;
try {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode(fileName, "UTF-8"));
response.setHeader("Content-Type", "application/octet-stream");
response.setHeader("Connection", "close");
os = response.getOutputStream();
wb.write(os);
os.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (os != null) {
os.close();
}
if (wb != null) {
wb.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}

前端ajax调用后端下载Excel模板流,解决输出乱码等问题的更多相关文章

  1. webApi前端ajax调用后端返回{"readyState":0,"status":0,"statusText":"error"}解决方案

    var url = data.url, params = data.params, try_times = data.try_times , async = data.sync == 'false' ...

  2. 下载excel模板,导入数据时需要用到

    页面代码: <form id="form1" enctype="multipart/form-data"> <div style=" ...

  3. java的poi技术下载Excel模板上传Excel读取Excel中内容(SSM框架)

    使用到的jar包 JSP: client.jsp <%@ page language="java" contentType="text/html; charset= ...

  4. vue Excel导入,下载Excel模板,导出Excel

    vue  Excel导入,下载Excel模板,导出Excel vue  Excel导入,下载Excel模板 <template> <div style="display: ...

  5. 前端axios下载excel,并解决axios返回header无法获取所有数据的问题

    需求:通过后端接口下载excel文件,后端没有文件地址,返回二进制流文件 实现:axios(ajax类似) 主要代码: axios:设置返回数据格式为blob或者arraybuffer 如: var ...

  6. java 下载Excel模板

    前端: JSP: <div id="insertBtn" class="MyCssBtn leftBtn" onclick="download( ...

  7. 前端https调用后端http

    昨晚发生了一个,很........的事 我前端的域名  和后端的域名 都没有做认证,前端的访问的80 调用的后端80 然后我给前端的域名做了认证ssl,但是调用后端的时候报错 原因是  https 调 ...

  8. download下载excel模板的代码

    <%-- 直接在JSP页面中进行文件下载的代码(改 Servlet 或者 JavaBean 的话自己改吧), 支持中文附件名(做了转内码处理). 事实上只要向 out 输出字节就被认为是附件内容 ...

  9. java下载Excel模板(工具类)

    一次文件下载记录 一次不成熟的文件下载操作记录,希望能对需要的人有所帮助. 1.前端代码 $("#downloadModel").click(function(){ var mod ...

  10. poi下载excel模板

    /** * 下载模板 * @param tplName * @param returnName * @param response * @param request * @throws Excepti ...

随机推荐

  1. 【Android】屏幕旋转时数据丢失问题解决方案

    1 问题描述 ​ 在旋转屏幕时,记录旋转屏幕次数的计数器(count)一直为 0,不能实现累加效果.主要因为在旋转屏幕时,会销毁原来的变量,重新构建界面. 2 解决思路 ​ 在 Activity 销毁 ...

  2. 微信小程序实现原理

    微信小程序实现原理 微信小程序采用wxml.wxss.javascript进行开发,本质是一个单页应用,所有的页面渲染和事件处理,都在一个页面内进行,但又可以通过微信客户端调用原生的各种接口.微信的架 ...

  3. CentOS8安装Docker报错问题解决

    问题描述 CentOS版本:8.5.2111. # cat /etc/redhat-release CentOS Linux release 8.5.2111 安装准备: # 安装所需软件包 sudo ...

  4. Vim常用快捷键汇总

    跳到指定行 在命令行模式下输入: :n(n为指定行号)

  5. __set_name__魔法方法

    介绍 __set_name__ 方法是 Python 3.6 中引入的一种特殊方法,它可以在类属性被赋值时自动调用.这个方法可以用来处理类属性的名称绑定问题,例如将类属性与其所在的类进行绑定. 具体来 ...

  6. go语言变量的零值和nil

    Go语言中无论是全局变量还是局部变量,只要定义了一个变量都有默认的0值 int/int8/int16/int32/int64/uint/uint8/uint16/uint32/uint64/byte/ ...

  7. 【Azure 存储服务】MP4视频放在Azure的Blob里面,用生成URL在浏览器中打开之后,视频可以正常播放却无法拖拽视频的进度

    问题描述 把MP4视频放在Azure的Blob里面,用生成URL在浏览器中打开之后,视频可以正常播放却无法拖拽视频的进度,这是什么情况呢? 问题解答 因为MP4上传到Azure Blob后,根据公开的 ...

  8. 别再低效筛选数据了!试试pandas query函数

    数据过滤在数据分析过程中具有极其重要的地位,因为在真实世界的数据集中,往往存在重复.缺失或异常的数据.pandas提供的数据过滤功能可以帮助我们轻松地识别和处理这些问题数据,从而确保数据的质量和准确性 ...

  9. java项目-尚硅谷项目三员工调度系统

    导入工具类和数据 创建TeamSchedule项目,com.atguigu.team. view,com.atguigu.team.service,com.atguigu.team.domain包 , ...

  10. Cordon、Drain、污点与容忍度、亲和性与反亲和性

    在Kubernetes(K8s)中,Cordon.Drain.污点与容忍度.亲和性与反亲和性都是与资源管理和调度相关的概念.下面是对这些概念的详细解释: Cordon(封锁.警戒): Cordon是一 ...