JS实现Excel文件下载

JS实现Excel文件下载

后端提供了下载Excel文档的接口,前端通过ajax调用,发现调用成功了,返回一堆乱码,并没有真的把想要的Excel文档下载下来

调用下载Excel接口不能通过ajax,
也不能通过data传参,

接口传参需要拼接在接口后面,
无论是get请求还是post请求都要这么做,

然后通过js动态创建form表单标签,
通过调用form表单的submit方法来调用接口

// 触发下载点击事件
submitDown () {
	// 创建form 标签
	let _form = document.createElement('form')
	// 接口 action 赋值 传参需要拼接在 ? 后面
	_form.action = `http:// www.xxx.com/getForm?name=xxx&type=xxx`
	// 提交方式赋值
	_form.method = 'post'
	// 将创建好的 form 标签放到body下面
	document.body.appendChild(_form)
	// 提交表单接口 (这时候就开始下载Excel文档了)
	_form.submit()
	// 最后删除创建的临时 form 标签
	_form.remove()
},

执行完以上过程,
文档就成功下载到你的本地了!

网上查了一些资料说 window.location.href 也能实现,
但是我这里试了一下发现不好使,
只有创建临时form表单调接口这种方式好使。

以上希望能帮到你,
以后还会持续关注调用下载接口的其他方式,
如果你有好的解决方案欢迎留言一起讨论!

猜你喜欢

转载自blog.csdn.net/weixin_34403976/article/details/103151393
今日推荐