Javascript / JQuery导出到Internet Explorer 10以上的Excel

我已经做了大量的研究,并得出结论,它可能不可能导出数据到Excel只使用客户端通过Javascript / JQuery的Internet Explorer 10 +,因为它不支持uri对象。

只使用客户端,没有人提供替代scheme来处理这种情况在IE中?

任何帮助将不胜感激。 谢谢!

如果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'); } 

我最近有同样的任务,我带来的解决scheme是这样的:

 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'); }); 

注意:我没有为其他浏览器实现文件名选项。

希望这可以帮助。