node读写Excel操作实例分析

2020-06-17 05:30:42易采站长站整理

本文实例讲述了node读写Excel操作。分享给大家供大家参考,具体如下:

目支持写Excel的node.js模块:

node-xlsx: 基于Node.js解析excel文件数据及生成excel文件;
excel-parser: 基于Node.js解析excel文件数据,支持xls及xlsx格式文件;
excel-export : 基于Node.js将数据生成导出excel文件,生成文件格式为xlsx;
node-xlrd: 基于node.js从excel文件中提取数据,仅支持xls格式文件。

下面通过node-xlsx模块来操作Excel文件。

1、安装node-xlsx模块

每次npm的时候,走国外的镜像,非常的慢,甚至安装失败,可以配置一下

通过改变默认npm镜像代理服务,以下三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候不用重新配置。

通过config命令


npm config set registry https://registry.npm.taobao.org

npm info underscore (如果上面配置正确这个命令会有字符串response)

命令行指定


npm --registry https://registry.npm.taobao.org info underscore

编辑 ~/.npmrc 加入下面内容


registry = https://registry.npm.taobao.org

注:有时候执行npm会失败,提示

Cannot find module ‘C:Program Filesnodejsnode_modulesnpmbinnode_modulesnpmbinnpm-cli.js’

此时发现node_modules文件夹下npm文件加不存在,经常会出现这样的情况,于是我对此文件夹做个备份。

安装node-xlsx


npm install node-xlsx

安装成功后,会在node_modules文件夹存在node-xlsx文件夹

2、读写xlsx

JavaScript Code


var xlsx = require('node-xlsx');
var fs = require('fs');
var data = [
{
name : 'sheet1',
data : [
[
'ID',
'Name',
'Score'
],
[
'1',
'Michael',
'99'
],
[
'2',
'Jordan',
'98'
] ] },
{
name : 'sheet2',
data : [
[
'AA',
'BB'
],
[
'23',
'24'
] ] }
]// 写xlsx
var buffer = xlsx.build(data);
fs.writeFile('./resut.xls', buffer, function (err)
{
if (err)
throw err;
console.log('Write to xls has finished');
// 读xlsx
var obj = xlsx.parse("./" + "resut.xls");
console.log(JSON.stringify(obj));
}
);

注意:文件扩展名可以是xls,也可以是xlsx