node.js 解析excel 表格
在这里使用的一个 node.js 的一个模块为 node-xlsx
安装命令为
npm install node-xlsx -s
在package.json 就可以看到安装了这个模块 。
- node-xlsx 有一个限制那就是只能解析xlsx结尾的excel文件。所以操作的时候需要注意一下。
- node-xlsx 仅仅提供了两个函数parse,build 。
var xlsx = require("node-xlsx");
console.log(xlsx);
/*
{ parse: [Function: parse], 解析函数
build: [Function: build], 创建函数
default: { parse: [Function: parse], build: [Function: build] } }
所以操作起来也是相当简单的
*/
//你的 xlsx 文件的path
let xlsxData = xlsx.parse("xx.xlsx");
console.log(xlsxData);
//xlsxData 是什么东西呢,你输出一下,就会发现这是一个对象。
//属性name 为sheet 表名,data 为 表格的内容(一个二维数组)。
如何将数据插入excel 表格
var fs = require("fs");
var xlsx = require("node-xlsx");
//需要插入表格的数据
const data = [
[1, 2, 3],
[true, false, null, 'sheetjs'],
['foo', 'bar', new Date().getTime(), '0.3'],
['baz', null, 'qux']
];
//调用 build 方法 ,参数是一个数组,每个成员为一个对象。
//name表示 sheet 表名,data 表示表数据
var buffer = xlsx.build([{name: "sheets", data: data}]);
//buffer 这个就不多说了,正如其名 buffer 。直接写入文件即可
fs.writeFile('./test.xlsx', buffer, function(err) {
if (err) {
return console.error(err);
}
console.log("数据写入成功!");
console.log("--------我是分割线-------------");
console.log("读取写入的数据!");
var testData = xlsx.parse("./test.xlsx");
console.log(testData);
});
//可以看到新建了一个xlsx文件,内容就是data里面的数据
build 可以传入多个对象 ,对应多个sheets.
好了,写完了 ,再深入下去就是解析源码了
也可以使用npm docs node-xlsx 命令到github 去看官方的说明