如何从 JavaScript 生成 Excel xlsx 文件
Posted
技术标签:
【中文标题】如何从 JavaScript 生成 Excel xlsx 文件【英文标题】:How to generate Excel xlsx files from JavaScript 【发布时间】:2017-04-26 20:21:50 【问题描述】:我们目前正在从ui-grid
自定义菜单导出到 Excel。 xls
Excel 文件由 javascript 生成(在 UI 中);但是,我们需要支持xlsx
格式。问题是当我们将扩展名更改为xlsx
时,在 Excel 2013is 中打开文件会产生错误。
这是一个 JavaScript 代码 sn-p 显示我们如何保存 xls
文件:
var blob = new Blob([html], type: 'data:application/vnd.ms-excel;base64,' );
saveAs(blob, "exported.xls");
我们可以在不依赖第三方包的情况下完成从JavaScript
到xlsx
的导出吗?
我正在查看msdn
上的Open XML file formats
,但它似乎是面向服务器端的;即从c#
生成xlsx
文件。
这是一个从 c# 生成的示例 - https://msdn.microsoft.com/en-us/library/office/gg278309.aspx
如果问题过于笼统,我深表歉意,因为我正在努力寻找合适的解决方案。
问候
【问题讨论】:
为什么要在客户端创建 xlsx 文件?建议在服务器端生成文件。 我们的应用程序中也确实具有服务器端功能;但是,我们从 ui-grid 中的“快速导出”选项允许我们快速导出 ui-grid 行,而无需额外访问服务器。我看到它可能无法做到这一点...... 【参考方案1】:Javascript 运行在哪里?如果您的意思是在您的浏览器中,那么简短的回答是否定的 - 安全模型不允许 Javascript 创建文件。
但可能数据正在进入您的页面,javascript 可以从 某处 读取它 - 所以只需在那里生成文件。
【讨论】:
我刚刚澄清了我的帖子,我指的是浏览器中的 JavaScript。问题是当我们将扩展名更改为xlsx
时,打开文件本身就会产生错误。以上是关于如何从 JavaScript 生成 Excel xlsx 文件的主要内容,如果未能解决你的问题,请参考以下文章