ejsExcel模板在Vue.js项目中的实际运用


Posted in Javascript onJanuary 27, 2018

什么是ejsExcel?

ejsExcel是一款国人开发的、在Node.js应用程序中使用我们预先设置好的Excel模板导出Excel表格的模板引擎。

Excel模板

ejsExcel模板在Vue.js项目中的实际运用

导出后

ejsExcel模板在Vue.js项目中的实际运用

Github地址

ejsExcel

如果因为众(ni)所(dong)周(de)知的原因打不开github,没有关系,它的语法很简单,都是一些对Excel模板格式的定义:

ejsExcel模板在Vue.js项目中的实际运用

这篇文章是我在工作中因为业务需要,用到了ejsExcel这个模板引擎,觉得很不错,但是坑也不少。而网上相关的资料又太少,所以趁此机会总结了一下我的踩坑经历。
我是在Vue.js这个前端框架中用到的ejsExcel,由于我本人并不是专业做前端开发的,我会尽量的说清楚,如果有些地方写的不是太专业的话,还请见谅!

第一步:安装ejsExcel

npm install ejsexcel

安装完依赖包之后是放在xxx/node_modules/ejsexcel目录下的,核心文件是ejsExcel.js,所以如果想要使用该模板引擎,必须引入该文件:

import Excel from 'exceljs'

踩坑一:

安装完之后,官方是给了一个测试案例的,放在ejsexcel/test目录下,我建议初学者先不要放在实际项目中使用,自己先另开一个进程运行一下测试案例。
在github中,作者给出方法是在test目录下运行test.bat这个文件,经过我实际的测试,该命令在windows系统中,需要使用

node test.bat

命令才可以运行成功,而在Mac中,是运行不了的。

如果要在Mac端运行,使用

node testExcel.js

运行即可。

测试案例很简单,当你看懂测试案例是如何运作的之后剩下的就没有问题了,没看懂的也没关系,以我们上面运行的testExcel.js为例:

ejsExcel模板在Vue.js项目中的实际运用

怎么样,很简单吧!

第二步:编写模板

根据自己的业务逻辑,将你要导出的数据按照上面的语法在Excel中写好,这一步不难,只是有点烦,需要你有点耐心。

编写好模板之后,可以将它放到你的项目中去,具体放在哪里随便你,但是最好不要离核心代码太远,毕竟我们在渲染数据时是需要读取模板路径的,放的路径太深,麻烦的还是自己。

第三步:获取数据源

test中的测试例子,都是一些假数据,但是在实际的开发中我们需要根据需求,动态的获取数据和导出数据。

我的做法是将核心文件的引入、数据的获取、Excel模板的渲染分装成三个部分。然后再使用export default导出这些方法,使其可以被全局调用。

ejsExcel模板在Vue.js项目中的实际运用

在Vue中,我做了一个导出按钮,当点击这个button时,触发方法,去获取我们data{}中的数据,获取到数据后作为参数,传入我们封装好的数据源方法中

ejsExcel模板在Vue.js项目中的实际运用

然后在getMachiningData方法中获取参数,并格式化。

ejsExcel模板在Vue.js项目中的实际运用

第四步:使用数据渲染模板

再调用renderDataUseTemp方法,将格式化好的数据传入,进行数据的渲染:

ejsExcel模板在Vue.js项目中的实际运用

保存的路径是你自己定的,你也可以自己写一个方法,动态的选择文件渲染好之后的存储路径。

大概就是这么多,业务逻辑方面其实不难,可能就是在制作Excel模板时需要一点耐心和细心。
上面的这些都是我自己在项目中的代码,请千万不要局限于我写的代码,思路最重要,要根据实际情况来处理业务。只要思路理清了,问题就解决一大半了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript中的var_dump函数实现代码
Sep 07 Javascript
Javascript计算时间差的函数分享
Jul 04 Javascript
js返回上一页并刷新代码整理
Dec 21 Javascript
jQuery中ajax和post处理json的不同示例对比
Nov 02 Javascript
javascript模拟C#格式化字符串
Aug 26 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
Dec 22 Javascript
Javascript实现的StopWatch功能示例
Jun 13 Javascript
js实现关闭网页出现是否离开提示
Dec 07 Javascript
vuejs 动态添加input框的实例讲解
Aug 24 Javascript
vxe-table vue table 表格组件功能
May 26 Javascript
js实现for循环跳过undefined值示例
Jul 02 Javascript
原生JS与CSS实现软件卸载对话框功能
Dec 05 Javascript
使用D3.js创建物流地图的示例代码
Jan 27 #Javascript
javascript获取图片的top N主色值方法详解
Jan 26 #Javascript
Vue中render方法的使用详解
Jan 26 #Javascript
Angular利用trackBy提升性能的方法
Jan 26 #Javascript
微信小程序版翻牌小游戏
Jan 26 #Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
Jan 26 #Javascript
微信小程序wx.getImageInfo()如何获取图片信息
Jan 26 #Javascript
You might like
基于PHP的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
2020/02/03 PHP
js版本A*寻路算法
2006/12/22 Javascript
Javascript 验证上传图片大小[客户端]
2009/08/01 Javascript
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
JS中Safari浏览器中的Date
2017/07/17 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
nodejs搭建本地服务器轻松解决跨域问题
2018/03/21 NodeJs
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
layui-laydate时间日历控件使用方法详解
2018/11/15 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
2020/05/11 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python实现登录密码重置简易操作代码
2019/08/14 Python
VSCode中自动为Python文件添加头部注释
2019/11/14 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
Python接口开发实现步骤详解
2020/04/26 Python
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
给实习单位的感谢信
2014/02/01 职场文书
大学生党员自我批评
2014/02/14 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
门市房租房协议书
2014/12/04 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
周年庆典答谢词
2015/01/20 职场文书
员工离职通知函
2015/04/25 职场文书
百家讲坛观后感
2015/06/12 职场文书
MySQL学习之基础操作总结
2022/03/19 MySQL