node读写Excel操作实例分析


Posted in Javascript onNovember 06, 2019

本文实例讲述了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 Files\nodejs\node_modules\npm\bin\node_modules\npm\bin\npm-cli.js'

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

node读写Excel操作实例分析

安装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

运行后输出:

node读写Excel操作实例分析

附录:使用nodemon让node自动重启

在我们开发node项目的时候,修改了服务的代码,但是node并自动重启来生效,必须手动去重启一下,这样很烦人的啊,很浪费时间,于是就有大神开发了自动重启的工具——nodemon,很简单的。

npm install -g nodemon

此时就可以用nodemon来代替node命令,执行服务器端js脚本了~

node读写Excel操作实例分析

 希望本文所述对大家node.js程序设计有所帮助。

Javascript 相关文章推荐
Javascript 八进制转义字符(8进制)
Apr 08 Javascript
jQuery操作input值的各种方法总结
Nov 21 Javascript
jQuery如何取id有.的值一般的方法是取不到的
Apr 18 Javascript
AngularJS入门心得之directive和controller通信过程
Jan 25 Javascript
详解AngularJS中的http拦截
Feb 09 Javascript
jQuery 实现评论等级好评差评特效
May 06 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
使用node.js搭建服务器
May 20 Javascript
JS中使用textPath实现线条上的文字
Dec 25 Javascript
JQuery通过后台获取数据遍历到前台的方法
Aug 13 jQuery
微信小程序实现图片选择并预览功能
Jul 25 Javascript
vue制作toast组件npm包示例代码
Oct 29 Javascript
详解vue页面首次加载缓慢原因及解决方案
Nov 06 #Javascript
electron 安装,调试,打包的具体使用
Nov 06 #Javascript
weui中的picker使用js进行动态绑定数据问题
Nov 06 #Javascript
在vue中阻止浏览器后退的实例
Nov 06 #Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
Nov 06 #Javascript
vue项目强制清除页面缓存的例子
Nov 06 #Javascript
关于vue路由缓存清除在main.js中的设置
Nov 06 #Javascript
You might like
收音机玩机评测 406 篇视频合集
2020/03/11 无线电
YII框架批量插入数据的方法
2017/03/18 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
Code: write(s,d) 输出连续字符串
2007/08/19 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
2016/06/12 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
全面接触神奇的Bootstrap导航条实战篇
2016/08/01 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
2017/05/18 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
2017/12/28 Javascript
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
es6 filter() 数组过滤方法总结
2019/04/03 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
python requests 使用快速入门
2017/08/31 Python
python实现感知器算法详解
2017/12/19 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
对Python 语音识别框架详解
2018/12/24 Python
python中PS 图像调整算法原理之亮度调整
2019/06/28 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
Django使用rest_framework写出API
2020/05/21 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
详解Python 函数参数的拆解
2020/09/02 Python
瑞典廉价机票预订网站:Seat24
2018/06/19 全球购物
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
会计核算科岗位职责
2014/03/19 职场文书
服务标兵事迹材料
2014/05/04 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
公司合并协议书范本
2014/09/30 职场文书
教师节大会主持词
2015/07/06 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python