Excel导出不适用于Firefox,但在谷歌crome中正常工作

时间:2017-01-23 11:17:55

标签: javascript html export-to-excel

调用下面给出的事件将表格中的数据导出为EXCEL,代码就像Chrome中的魅力一样。在IE和Firefox中,我没有得到任何东西(文件,错误等)。 请帮助我继续前进并在所有浏览器中导出文件

$("[id$=myButtonControlID]").click(function(e) { 
    var result = 'data:application/vnd.ms-excel,' + encodeURIComponent($('div[id$=printHead]').html());
    var link = document.createElement("a");
    link.download = "Reports";
    link.href = result;
    link.click();
});

1 个答案:

答案 0 :(得分:4)

使用Firefox,您必须先将link元素显式添加到DOM,然后才能执行.click()

$("[id$=myButtonControlID]").click(function(e) { 
    var result = 'data:application/vnd.ms-excel,' + encodeURIComponent($('div[id$=printHead]').html());
    var link = document.createElement("a");
    document.body.appendChild(link);  // You need to add this line
    link.download = "Reports";
    link.href = result;
    link.click();
});

IE8支持data: URI。但它“不能用于导航[...]”所以我认为它不适用于<a href="...">。请参阅this link