在Node.js中如何使用ejsexcel输出EXCEL文件
沉沙 2018-07-19 来源 : 阅读 2168 评论 0

摘要:本篇Node.js教程探讨了在Node.js中如何使用ejsexcel输出EXCEL文件,希望阅读本篇文章以后大家有所收获,帮助大家对Node.js的理解更加深入。

1、背景

在Nodejs应用程序中输出Excel,第一印象想到的一般是node-xlsx,这类插件不仅需要我们通过JS写入数据,还需要通过JS进行EXCEL显示样式的管理。

这是个大问题,不仅代码冗余,而且非常不易于维护,假设业务需要合并一个单元格,或者换个颜色,我们都需要重新修改代码。

反思这个问题的核心,跟使用JS来操作页面样式其实是同一个道理,我们没有把数据/业务逻辑操作和样式分离。

在WEB开发中,我们有了CSS来分离处理样式的问题。

现在,在输出EXCEL的时候,我们也希望将样式问题分离出去。

2、ejsexcel 

ejsexcel 就是在这样的背景下诞生的。

1、业务人员提供EXCEL模板,包含显示样式以及固定文本。

2、数据部分由开发者按照ejs格式录入。

3、Nodejs应用程序只需要准备好数据,然后通过ejsexcel注入到EXCEL模板中即可。

3、DEMO

1、Excel模板

可以输出单个对象,也可以通过forRow关键字进行循环输出。

另外,其中的脚本同样支持JS相关函数。

2、注入数据

 //读取excel模板

        let daily_excel_template = fs.readFileSync(DAILY_TEMPLATE)

        //用数据源(对象)data渲染Excel模板

        let self = this

        ejsExcel.renderExcelCb(daily_excel_template, reportData, function(err,exlBuf2){

            if(err) {

                logger.fatal('[EXCEL生成失败!]:'+DAILY_TEMPLATE)

                logger.info(err)

                return;

            }

            fs.writeFileSync(filename, exlBuf2);

            logger.info('[EXCEL生成成功!]:'+DAILY_TEMPLATE)

        });

以上是部分代码:

首先读取模板EXCEL文件,然后调用ejsExcel.renderExcelCb方法将数据注入模板中,由模板生成最终的EXCEL文件。


本文由职坐标整理并发布,了解更多内容,请关注职坐标WEB前端Node.js频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 3 不喜欢 | 7
看完这篇文章有何感觉?已经有10人表态,30%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程