2014-10-08 28 views
1

我已經做了大量的研究,並得出了一個結論,它可能不可能導出數據到Excel只使用客戶端通過Javascript/Jquery的Internet Explorer 10 +因爲它不支持uri對象。Javascript/jquery導出到Excel中的Internet Explorer 10+

只使用客戶端,沒有人提供替代方案來處理這種情況在IE中?

任何幫助將不勝感激。謝謝!

+0

http://mottie.github.io/tablesorter/docs/example-widget-output.html可以導出爲CSV文件 – Hackerman 2014-10-08 16:00:29

+0

一個演示:http://jsfiddle.net/robertrozas/fucqhe26/1/ – Hackerman 2014-10-08 16:01:15

+0

@ RobertRozas不幸的是,你的第二個鏈接需要php才能夠下載到csv。僅在javsacript中查找客戶端示例。謝謝! – Larbear 2014-10-08 16:17:34

回答

0

如果uri不工作,則使用blob。它在IE 10中也可以正常工作。 代替URI使用blob其工作正常。 使用下面的代碼

CSV是你的數據

var blob = new Blob([CSV], { type: 'text/csv' }); 
    if (navigator.msSaveBlob) { // IE 10+ 
     navigator.msSaveOrOpenBlob(blob, fileName + '.csv'); 
    } 
0

最近我有同樣的任務,我想出瞭解決方案是這樣的一個:

function exportTable(myTable, filename) { 
//IE 
if (isIE()) { 
    csvData = myTable; 
    if (window.navigator.msSaveBlob) { 
     var blob = new Blob([csvData], { 
      type: "text/html" 
     }); 
     navigator.msSaveBlob(blob, filename); 
    } 
} //other browser 
else { 
    window.open("data:application/vnd.ms-excel," + encodeURIComponent(myTable)); 
}} 

然後把它稱爲在你喜歡的方式,類似於:

$("#myButtonId").click(function (e) { 
     exportTable($('#myTableId').html(), 'myFilename.xls'); 
    }); 

注意:我沒有實現文件名選項oth呃瀏覽器。

希望這會有所幫助。