背景
最近搜集了一些读写excel的插件,各有优劣,但发现ejsExcel可以通过模板实现样式与数据分离,感觉还不错,但使用中坑的确不少,记录了下,并提供了一些解决方法。
所遇到的问题
1、生成的excel不好读取
用ejsExcel生成的excel,我尝试了常用的js-xlsx、node-xlsx、excel-parser等来读取,结果数据都是空数组,这样不利于反复读写,
最后尝试了xlsx-populate,可以读取出可用数据,在此提供他的读取api,
2、excel的日期、数字格式值读出是数字
例如:excel中60%的百分数格式读出的值会是0.6,2017/3/27的日期格式读出的值为42821。
如果读出的数据直接再通过ejsExcel生成excel文件,需要显示正确的单元格格式,需要:
如果只是想把看不懂的数字转换为正确的格式,那么尝试下xlsx-populate的api:
3、excel复制粘贴整行数据错位
这种情况,其实是xlsx-populate的问题,读取出来的数据undefined代替空的单元格,复制粘贴的内容会错位一格。如图:
这种情况只有js中写好判断有用数据前undefined的个数来错位回去。
4、日期数据处理很频繁时
推荐使用Date-Utils,这货用起来so easy!
结语
说好的ejsExcel呢?怎么感觉全是xlsx-populate,这是声东击西,委婉的解决问题,哈哈。
相关资源
Date-Utils
nodejs日期时间插件Date-Utils
https://segmentfault.com/a/1190000003777624
ejsExcel
nodejs excel表导出
http://www.jianshu.com/p/48dc84f391c0在Node.js中使用ejsexcel输出EXCEL文件
http://www.cnblogs.com/souvenir/p/6070722.html
js-xlsx
- 在 Node.js 中利用 js-xlsx 处理 Excel 文件
http://scarletsky.github.io/2016/01/30/nodejs-process-excel/
node-xlsx
xlsx-populate
---------------------------------------------------------------------
坚持原创技术分享,您的支持将鼓励我继续创作!