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>
相关文章:
1. android - 哪位大神知道java后台的api接口的对象传到前端后输入日期报错,是什么情况?求大神指点2. mac里的docker如何命令行开启呢?3. javascript - 如何向localStorage上的数组push数据4. css - jq有无现成函数改变rotateX/Y的deg5. nginx 所有页面指向index.html6. javascript - nodejs抓取网页的问题7. 为什么HTML5规范中会包含一些和html无关的东西?如本地存储等。8. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?9. vue添加锚点,实现滚动页面时锚点添加相应的class操作10. html5 - bootstrap简介中的一点问题
