javascript 如何下载一个excel文件 ?
问题描述
<form method='get' action='/app/PoiTemplate/NFC.xlsx'><button type='submit'>Download!</button> </form>
window.open('/app/PoiTemplate/NFC.xlsx')
上面两种方式都把文件给打开了, 还有其他下载方法吗 ?
问题解答
回答1:<a href='https://www.haobala.com/wenda/nfc.xlsx' download='nfc.xlsx'>下载</a>
下面是php 的header,自己试试
header('Content-Type: application/vnd.ms-excel; charset=UTF-8' ); header('Pragma: public' ); header('Expires: 0' ); header('Cache-Control: must-revalidate, post-check=0, pre-check=0' ); header('Content-Type: application/force-download'); header('Content-Type: application/octet-stream' ); header('Content-Type: application/download' ); header('Content-Disposition: attachment;filename=11.xls ' ); header('Content-Transfer-Encoding: binary ' ); 回答2:
虽然IE不识别download属性,但是IE下它任然是个链接,所以我们可以加一个 target='black' 属性,来打开新窗口,实现下载,所以可以实现如下:
<a href='https://www.haobala.com/wenda/nfc.xlsx' download='nfc.xlsx' target='_blank'>下载</a>回答3:
你的问题并不在前端,换一种思路,通过后端下载,随便在前端发起一个get请求,在后端设置返回头 Content-Disposition: Attachment; filename='文件名',并以流的形式,浏览器自然后弹出文件选择框。这儿有个java例子https://github.com/treeandgra...第二种思路:/q/10...
回答4:以我的经验,你这个问题应该是出在浏览器上,换个浏览器试试
回答5:javascrit的特点在于DOM和BOM的操作和引用,文件下载属于Meta的特性,javascript无权操作,让后端开发人员设置输出的Head Meta即可。
回答6:<a href='https://www.haobala.com/wenda/xx.xlsx'></a>
相关文章:
