首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nodejs如何解析excel

nodejs如何解析excel

作者头像
挥刀北上
发布2019-07-19 15:15:52
6.9K0
发布2019-07-19 15:15:52
举报
文章被收录于专栏:Node.js开发Node.js开发

在工作中有时候我们需要将数据写入的excel或者将数据输出到excel当中。

这项工作用nodejs借助npm包来完成的话相当快捷。

用nodejs操作excel需要借助一个npm包,包名称为:node-xlsx,包的地址为:https://www.npmjs.com/package/node-xlsx。

下面就给大家演示一下如何用nodejs来操作excel,nodejs操作excel无非读和写。

首先用这个包来读取一个excel文件,excel文件内容如下:

内容很简单就是一个表格。

使用node-xlsx的话我们要先安装,并引入。node-xlsx引入到文件中用一个自定义变量来接收,这个变量上有两个方法,parse和build。

parse就是解析excel的意思,我们先看用nodejs解析上面的表格得到数据的代码如下:

var xlsx = require('node-xlsx').default;
// parse方法的参数为要解析的excel的路径
var list = xlsx.parse('./1234.xlsx');
// 输出数据
console.log(list);

打印结果如下:

我们看到这个结果是一个数组,数组的每一项是一个对象,对象中有如下属性:name、data。

name是excel中文档的名称,这里需要注意,一个excel可以有多个文档如图:

所以上面的list得到的是一个数组。

data表示当前文档下的数据,是一个二维数组,我们将其输出:

可以看到和上面表格中的数据是一样的。只不过这个数据的格式比较特殊,通常第一行为标题行,之后的为实体数据,并以数组的形式存储。

这里需要注意的是如果excel中的表格某个数据为空没有填写如图:

此时读出来的数据如下:

转换成json如下:

这个npm包还是挺人性化的,以上便是用nodejs读取excel文件。

下面来看一下如何用nodejs将数据写入excel,用nodejs将数据写入excel的话,数据必须满足要求才可以,并且这里需要用的nodejs的fs模块。

代码如下:

运行结果会输出到test4.xlsx文件中,结果如下:

从上面的运行结果可以看出,在构建写入的数据的时候,数据必须设置为数组,并且为空的项设置为null,然后按照node-xlsx的接口构建一个buffer数据,最后将buffer数据输出到页面。

拓展一下,下面来看一下下面的表格:

多了一个合并的表头,这样的数据该如何输出呢?代码如下:

以上便是在nodejs中借助node-xlsx操作excel的用法了,下期为大家如何使用浏览器的接口操作excel。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 nodejs全栈开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档