使用node.js 解析excel 表格

node.js 解析excel 表格

在这里使用的一个 node.js 的一个模块为 node-xlsx
安装命令为
npm install node-xlsx -s
在package.json 就可以看到安装了这个模块 。


  1. node-xlsx 有一个限制那就是只能解析xlsx结尾的excel文件。所以操作的时候需要注意一下。
  2. 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.
多个sheet
好了,写完了 ,再深入下去就是解析源码了
也可以使用npm docs node-xlsx 命令到github 去看官方的说明
使用node.js 解析excel 表格_第1张图片

你可能感兴趣的:(node-js)