js批量下载excel文件

JavaScript016

js批量下载excel文件,第1张

关键点

1.blob的type设置成表格

var blob = new Blob([res.data],{type : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'})

2.请求header里面设置:responseType:'blob'

内容不乱码,在axios中加 responseType:'blob'(此处为自己封装的axios, 请勿复制 )

代码如下:

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gbk" />

<title>JS实现下载文件</title>

<script language=JavaScript>

function download(obj){

if(document.all.ifrm==null){

objIframe=document.createElement("IFRAME")

document.body.insertBefore(objIframe)

objIframe.outerHTML="<iframe name=ifrm style='width:0hieght:0' src="+obj.href+"></iframe>"

re=setTimeout("download()",1)

}

else{

clearTimeout(re)

files=window.open(obj.href,"ifrm")

files.document.execCommand("SaveAs")

document.all.ifrm.removeNode(true)

}}

</script>

</head>

<body >

文档列表:请点出下载<br/>

<a href="file01.doc" id="filelist" onclick="download()return false" style="cursor:hand">文件1</a> <br/>

<a href="file02.pdf" id="filelist" onclick="download()return false" style="cursor:hand">文件2</a>

</body>

</html>