javascript - excel onclick 表格

标签 javascript jquery html excel internet-explorer

我正在使用 IE9,我有以下代码来下载 html 表格作为 Excel 电子表格:

<a id="toExcel" onclick="window.open('data:application/vnd.ms-excel,' + document.getElementById('resultsTable').outerHTML.replace(/ /g, '%20'));e.preventDefault();" href="javascript:void(0);">Excel</a>

这适用于其他浏览器,例如 Chrome,但不适用于 IE9。它只是打开一个新选项卡,其中的代码位于网址栏中。

如何让它在 IE9 中运行?

我尝试将 onclick 事件放在另一个元素中,例如按钮,但它不起作用。

使用数据表,库似乎在表中添加了很多其他内容,我只想要这个功能。

赏金脚注:

  • 必须在 IE9 上运行。

  • 请不要建议https://datatables.net 。出于内部原因,我们 无法使用此建议。

  • 很高兴从我已经尝试过的事情中得到启发(请参阅代码片段 之前)只要它有效
  • 必须下载为 xlsx,并且必须在 Excel 2010 上正确打开。
  • 该项目使用 Sharepoint 2013 和自定义 js/jquery Web 部件。 我们已经动态生成了一个html表格并且需要能够 如上导出至 Excel。

感谢您的帮助

最佳答案

正如已经提到的,服务器端实现会更好。创建一个对 Controller 的 AJAX 调用,其中包含适当的 ID(查询数据所需)并将其发送回浏览器。如果您的情况无法做到这一点,请查看以下帖子:

How to change "comma" separator to something else in blob csv?

我可以复制我自己的答案,但这没有意义;)

关于javascript - excel onclick 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24119268/

相关文章:

javascript - 如何知道我到达了表格底部

javascript - jQuery:.append() + 用 &lt;textarea&gt; 中的随机数替换文本?

javascript - ng-options 指令不起作用,无法在 angularjs 库中找到它

javascript - 将特定的 XML 节点拉入 HTML 文档

javascript - Jquery 选择多个 radio 输入

html - 菜单在封面下消失了

javascript - 来自托管文件的 Canvas 图像 src

javascript - 使用 javascript 的弹出窗口 - 在旧的弹出窗口中打开新的弹出窗口

javascript - graphql查询转json查询

javascript - 将成员变量的状态存储在 Angular 2 类中