开头先简单介绍,这是一个读写Excel,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表格进行的读取新建写入操作。