Node读写xlsx

env

首先在目录下生成package.json, 执行

1
npm init

输入项目信息;安装node-xlsx:

1
npm install node-xlsx --save

文件目录会生成node_modules文件夹,若要初始化git仓库最好把node_modules列入.gitignore, –save这个参数已经把包写入package.json

read

1
2
3
const xlsx = require('./xlsx');
// 解析xlsx文件
const workSheetsFromFile = xlsx.parse(`${__dirname}/test.xlsx`);

parse函数生成一个数组,每个表为一个二维数组;该数组元素内,储存文件每行数据;

例如你要读取第一个表Sheet0的A1:

1
var A1_data = workSheetsFromFile[0][0];

这样就可以处理xlsx的数据了。

write

保持data格式与read时的数据格式一样,用法:

1
2
// option参数可传可不传,可设置单元格样式
var buffer = xlsx.build([{name:"sheet0", data: data}], option);

build生成的buffer为二进制数据,需要借助fs模块,推荐使用异步方法:

1
2
3
4
5
6
7
8
9
10
const fs = require('fs');
fs.writeFile('./test.xlsx', buffer, (err)=>{
if (err) {
console.log(err);
} else {
console.log('save xlsx successfully');
}
})
// fs.writeFileSync('./text.xlsx', buffer); // 同步写入

DONE。