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

什么是ejsExcel?

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

Excel模板
clipboard.png
导出后
clipboard.pngnode

Github地址
ejsExcelgit

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

clipboard.png

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

第一步:安装ejsExcel

npm install ejsexcel

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

import Excel from 'exceljs'

踩坑一:

安装完以后,官方是给了一个测试案例的,放在ejsexcel/test目录下,我建议初学者先不要放在实际项目中使用,本身先另开一个进程运行一下测试案例。
在github中,做者给出方法是在test目录下运行test.bat这个文件,通过我实际的测试,该命令在windows系统中,须要使用前端框架

node test.bat

命令才能够运行成功,而在Mac中,是运行不了的。
若是要在Mac端运行,使用框架

node testExcel.js

运行便可。测试


测试案例很简单,当你看懂测试案例是如何运做的以后剩下的就没有问题了,没看懂的也不要紧,以咱们上面运行的testExcel.js为例:spa

clipboard.png

怎么样,很简单吧!

第二步:编写模板

根据本身的业务逻辑,将你要导出的数据按照上面的语法在Excel中写好,这一步不难,只是有点烦,须要你有点耐心。
编写好模板以后,能够将它放到你的项目中去,具体放在哪里随便你,可是最好不要离核心代码太远,毕竟咱们在渲染数据时是须要读取模板路径的,放的路径太深,麻烦的仍是本身。

第三步:获取数据源

test中的测试例子,都是一些假数据,可是在实际的开发中咱们须要根据需求,动态的获取数据和导出数据。
个人作法是将核心文件的引入、数据的获取、Excel模板的渲染分装成三个部分。而后再使用export default导出这些方法,使其能够被全局调用。
clipboard.png
在Vue中,我作了一个导出按钮,当点击这个button时,触发方法,去获取咱们data{}中的数据,获取到数据后做为参数,传入咱们封装好的数据源方法中

clipboard.png
而后在getMachiningData方法中获取参数,并格式化。
clipboard.png

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

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

clipboard.png

保存的路径是你本身定的,你也能够本身写一个方法,动态的选择文件渲染好以后的存储路径。

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

以上。

感谢ejsExcel的做者:Sail辐毂Git中有他们的QQ群以及捐赠入口,但愿各位不差钱的小伙伴们能够多多支持开源做者。^_^

相关文章
相关标签/搜索