登录
注册
node.js 学习社区
使用node-xlsx读取Excel文件

龙三

2015-01-15 14:36

Excel 文件不能当普通的二进制文件处理,否则数据结构就被破坏了,于是需要先找个能够处理 Excel 文件的方法。搜索之下,发现了 node-xlsx 包。安装:
npm install node-xlsx
查找 api 文档和示例代码未果,记得帖子里有说过,源码易懂,所以也翻了源码看看,发现两个接口 parse 和 build ,于是试着写了两行代码,居然成功了!
var xlsx = require('node-xlsx');
// read
var obj = xlsx.parse('a.xlsx');
console.log(JSON.stringify(obj));
分析一下生成的 JSON 对象,把 Excel 文件描述的很实在,这样取数据或才设置数据的时候就很方便了。不过生成的数据中有太多字段,感觉是没用的。于是试着对它进行了精简,最终得到一个更直观的数据格式:
{"worksheets":[{"data":[["索引1","索引2","c"]]}]}
直接对数据表与表内数据进行描述,在存储成 Excel文件的时候也没有问题:
var xlsx = require('node-xlsx');
var fs = require('fs');

// write
var obj = {"worksheets":[{"data":[["索引1","索引2","c"]]}]};
var file = xlsx.build(obj);
fs.writeFileSync('b.xlsx', file, 'binary');

需要注意的是, node-xlsx 只能处理xslx格式,如果是.xsl文件,只有手动转换后使用了。

原文出处:http://librajt.github.io/2013/08/04/handle-excel-file-with-nodejs/


回复 · 1

发表回复

你可以在回复中 @ 其他人