【问题标题】:Excel export not working on Firefox but working fine in google cromeExcel 导出无法在 Firefox 上运行,但在 google chrome 上运行良好
【发布时间】:2017-01-23 11:17:55
【问题描述】:

调用以下给定事件以将表中的数据导出到 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();
});

【问题讨论】:

  • 请具体说明什么是“不工作”。
  • 我无法将指定的内容导出到 Excel 中
  • 您应该尝试更具体。是否有任何错误信息?没有检索到文件?文件格式是否错误? Excel 在打开文件时是否显示错误消息?等
  • 没有记录或显示错误消息,相同的代码在谷歌浏览器上完美运行,当我点击导出按钮时,指定的内容会自动下载为 excel 文件。这在 Firefox 中没有发生,只是在调用此函数时发生了页面刷新
  • 我相信我现在可以得到一些帮助

标签: javascript html export-to-excel


【解决方案1】:

使用 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。

【讨论】:

  • IE版本:10.0.9200.17414问题依然存在
  • @chandrahasan IE 10 是否支持数据:URI?
  • 相信IE 8.0及以上版本都支持
  • @chandrahasan 我这里既没有 IE8 也没有 IE10。我在 html 中创建了一个静态 a 元素:<a href="data:application/vnd.ms-excel,test" download="Reports">Download</a>。对于 IE11,此链接会导致错误消息“Internet Explorer 无法显示网页”。
  • @chandrahasan IE8 支持data: URI。但它“不能用于导航 [...]”,所以我认为它不会在 <a href= 中工作。见msdn.microsoft.com/en-us/library/cc848897(v=vs.85).aspx
猜你喜欢
  • 2016-08-05
  • 2018-02-04
  • 2018-09-25
  • 1970-01-01
  • 2014-10-13
  • 2014-11-19
  • 2021-07-22
  • 2014-10-01
  • 2020-07-02
相关资源
最近更新 更多