0

我想在 html 表格下方添加Excel按钮,该按钮提供表格的 Excel 工作表。我在它后面使用 C#,但我希望它只在客户端使用 jQuery 或 Javascript而不使用 PHP 或 .NET ......仅此而已。

我正在寻找几个小时,但我没有找到任何修复解决方案。那里说您可以使用 activeX 对象和 CSV,但是我没有看到任何正在运行的示例。

4

2 回答 2

3

ActiveX 只能在 Internet Explorer 上运行,因此您的解决方案将仅限于该平台。

由于 JavaScript 安全设计,如果没有 ActiveX 或服务器端脚本,则无法实现此目的,因此不允许创建文件或将内存文件推送到下载流中。

于 2012-06-19T10:55:10.437 回答
2

我不会推荐 ActiveX 或任何试图在客户端系统上的浏览器之外运行代码的东西。ActiveX 仅适用于 IE,更不用说带来的固有安全风险。

一种可能的方法是使用服务器端脚本和 jquery 来生成文件并返回它,而无需离开页面。它看起来不错,您实际上不必费力地让它工作,用户也不会。(如果您想要执行此操作所需的 jquery 示例,请告诉我)。

对于 c#,有很多关于从数据生成 excel 文件的教程,例如这里

我能想到您想要在本地创建文件的唯一原因是使用服务器上的资源。C# 在生成该文件方面将非常有效,更不用说您可以做几件事(取决于数据)来消除它的任何影响:

  • 如果数据更改很少且相距甚远,请考虑存储生成的文件并下次定向到该文件,直到数据更改为止。
  • 通过搜索条件限制它返回的数据集

你可以做更多的优化,但你明白了。

于 2012-06-19T11:30:30.017 回答