首页  >  问答  >  正文

javascript 如何下载一个excel文件 ?

 <form method="get" action="/app/PoiTemplate/NFC.xlsx">
                        <button type="submit">Download!</button>
                    </form>
window.open("/app/PoiTemplate/NFC.xlsx") 

上面两种方式都把文件给打开了, 还有其他下载方法吗 ?

滿天的星座滿天的星座2674 天前864

全部回复(6)我来回复

  • 某草草

    某草草2017-06-23 09:16:30

    <a href="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 " ); 

    回复
    0
  • 欧阳克

    欧阳克2017-06-23 09:16:30

    虽然IE不识别download属性,但是IE下它任然是个链接,所以我们可以加一个 target="black" 属性,来打开新窗口,实现下载,所以可以实现如下:

    <a href="nfc.xlsx" download="nfc.xlsx" target="_blank">下载</a>

    回复
    0
  • PHP中文网

    PHP中文网2017-06-23 09:16:30

    你的问题并不在前端,换一种思路,通过后端下载,随便在前端发起一个get请求,在后端设置返回头 Content-Disposition: Attachment; filename="文件名",并以流的形式,浏览器自然后弹出文件选择框。这儿有个java例子https://github.com/treeandgra...
    第二种思路:
    /q/10...

    回复
    0
  • 高洛峰

    高洛峰2017-06-23 09:16:30

    以我的经验,你这个问题应该是出在浏览器上,换个浏览器试试

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-06-23 09:16:30

    javascrit的特点在于DOM和BOM的操作和引用,文件下载属于Meta的特性,javascript无权操作,让后端开发人员设置输出的Head Meta即可。

    回复
    0
  • 迷茫

    迷茫2017-06-23 09:16:30

    雷雷

    回复
    0
  • 取消回复