「Node学习笔记」浅谈Node.js读写xlsx文件

前言

先给大家简单介绍一下,这是一个读写 xlsx 文件的功能,主要帮助我们打印或是读写一些数据。

应用场景:以消费订单为例,当客户需要导出网站的累计消费金额时,我们需要查看流水账,作为开发人员可以将数据在 node 的服务层进行对应的整理,再通过写成 Excel 的方式给到客户使用。

操作步骤

step1:加载模块

使用模块:

fs–主要用于写入文件;

node-xlsx主要用于转换 xlsx 数据和读取 xlsx 的文件数据;

const fs = require('fs')
const xlsx = require('node-xlsx'); // 读写xlsx的插件

step2:读取功能

读取功能相对简单,直接使用模块的 prase(路径)方法就能读取。

var list = xlsx.parse("./doc/hello.xlsx");
  返回结果,name:表名,data:二维数组--由于Excel以表格的形式表示,因此表格的数据都是通过二维数组进行接收。

[ { name: 'firstSheet', data: [ [Array], [Array] ] },
{ name: 'secondSheet', data: [ [Array], [Array] ] } ]

step3:写入功能

写入功能,对应的写入数据与上面读取功能的返回格式需要一致,以数组的形式,name:表名,data:二维数组–Excel每行每列的数据。

如下面的代码,生成一个 Excel 文件,分别两张表,表名分别是 firstSheet,secondSheet。

let xlsxObj = [
{
name: 'firstSheet',
data: [
[1, 2, 3],
[4, 5, 6]
],
},
{
name: 'secondSheet',
data: [
[7, 8, 9],
[10, 1, 12]
],
}
]

生成Excel文件,

fs.writeFileSync(路径,Buffer数据)

xlsx.build(xlsxObj)会将数组转换为 Buffer 数据

执行下面命令就会生成对应的Excel文件。

fs.writeFileSync('./doc/hello.xlsx',xlsx.build(xlsxObj),"binary");

以上就是通过 Node 对 Excel 表格进行的读取新建写入操作。

发表评论

相关文章