Ajax方式导出Excel,浏览器显示下载Excel表

 

以前实现导出Excel,都是用form表单提交,因为jquery封装的ajax请求导出Excel,浏览器不显示文件。

但是这次的需求要带着header,form表单不能带header,百度了下,原生ajax是支持导出Excel的二进制数据格式的。

 

 

 

1、JS方法里全部代码

 

//原生ajax
var xhr = new XMLHttpRequest();
//post方式请求后台的路径
xhr.open('post', '/api/export', true);
//导出的Excel是二进制数据类型,所以设置为blob
xhr.responseType = 'blob';
//请求头(key,value),请求头可以设置多个key-value对
xhr.setRequestHeader('Content-Type', 'application/json;charset=utf-8');
//返回成功,导出的Excel文件
xhr.onload = function () {
	if (this.status == 200) {
		var blob = this.response;
		var a = document.createElement('a');
		var url = window.URL.createObjectURL(blob);
		a.href = url;
		//设置文件名称
		a.download = 'Excel文件名字.xlsx';
		a.click();
	}
}
var feeDate = $('#feeDate').val();
//请求的参数,json格式,后台要用json格式接收
xhr.send(JSON.stringify({
   "feeDate" : feeDate
}));

  

 

 form表单导出Excel,请参照

 https://www.cnblogs.com/Donnnnnn/p/7902718.html

 

转载于:https://www.cnblogs.com/Donnnnnn/p/11284399.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值