首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >coldfusion项目中的ExcelJS

coldfusion项目中的ExcelJS
EN

Stack Overflow用户
提问于 2017-09-08 03:18:04
回答 2查看 534关注 0票数 2

要求是导出一个excel文件(*.xlsx)从ui-grid与一些格式。我可以使用angularjs,ui-grid和js-xlsx导出excel,但是我无法设置excel单元格的格式(例如:粗体,文本颜色)和js-xlsx。

我找到了Exceljs,它看起来很适合我的需求。困难之处在于它是以npm包的形式提供的,而我正在工作的服务器没有安装node/npm。或者,我无法找到相同的下载/cdn。因此,我在本地系统上安装了该软件包,并从node_modules复制了exceljs文件夹,并尝试了以下操作:

代码语言:javascript
复制
<script src="dist/exceljs.js"></script>

<script>
        var workbook = new Excel.Workbook();
        console.log(workbook);
</script>

它抛出了一个错误“未捕获ReferenceError: Excel未定义”。

我猜是因为它应该包含在"Excel“对象可用的节点模块中。

代码语言:javascript
复制
var Excel = require('exceljs');

有没有什么方法可以在不需要(‘’)的情况下包含和创建它。

如果不能做到这一点,我将感谢任何其他的解决方案/建议。

EN

回答 2

Stack Overflow用户

发布于 2017-09-08 03:28:26

在代码中快速搜索后,我找到了this。此库正在使用文件读/写,因此您无法在浏览器中使用它。另一方面,Excel文件是xml的压缩文件,所以如果没有服务器端的帮助或第三方服务,你永远不会实现你想要的。

票数 1
EN

Stack Overflow用户

发布于 2020-05-08 15:12:20

您需要的是一个捆绑的exceljs构建,它全局地公开独立的ExcelJS对象(通过window)。这也正是您所拥有的,除了您引用了一个无效的名称。

代码语言:javascript
复制
var workbook = new ExcelJS.Workbook();

此外,由于您并没有在javascript项目中真正使用模块绑定器,而不是通过npm install获取exceljs捆绑的发行版并从node_modules中提取它,更好的方法是从releases列表中下载并自己构建项目-

代码语言:javascript
复制
$ cd exceljs
$ npm install
$ npm run build

之后,您可以在dist目录下获得exceljs.js和它的缩小版对应的exceljs.min.js

编辑:另外,我不同意Adam的观点。ExcelJS确实可以用于在浏览器端生成ExcelJS表格,并且非常适合您提到的用例。我们使用的方法之一是使用我们拥有的数据动态构造ExcelJS.Workbook,将工作簿写入buffer,使用以下命令将其转换为blob -

代码语言:javascript
复制
new Blob([buffer], { type: buffer.type })

然后使用ObjectURLs下载。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46103647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档