首頁  >  問答  >  主體

javascript 如何下載一個excel檔 ?

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

上面兩種方式都把文件給打開了, 還有其他下載方法嗎 ?

滿天的星座滿天的星座2674 天前869

全部回覆(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
  • 取消回覆