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 相关文章推荐
setInterval()和setTimeout()的用法和区别示例介绍
Nov 17 Javascript
利用js定义一个导航条菜单
Mar 14 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
Apr 27 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
Jul 27 Javascript
Node.js实现连接mysql数据库功能示例
Sep 15 Javascript
JavaScript复制内容到剪贴板的两种常用方法
Feb 27 Javascript
微信小程序框架wepy之动态控制类名
Sep 14 Javascript
JS实现的tab页切换效果完整示例
Dec 18 Javascript
详解微信小程序支付流程与梳理
Jul 16 Javascript
Vue中 axios delete请求参数操作
Aug 25 Javascript
node.js如何根据URL返回指定的图片详解
Oct 21 Javascript
vue中是怎样监听数组变化的
Oct 24 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
PHP验证码函数代码(简单实用)
2013/09/29 PHP
php根据分类合并数组的方法实例详解
2013/11/06 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
js获取url参数的使用扩展实例
2007/12/29 Javascript
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
JS 分号引起的一段调试问题
2009/06/18 Javascript
js下用层来实现select的title提示属性
2010/02/23 Javascript
jquery判断checkbox(复选框)是否被选中的代码
2010/10/20 Javascript
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
jQuery插件实现多级联动菜单效果
2015/12/01 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
原生和jQuery的ajax用法详解
2017/01/23 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
vue监听input标签的value值方法
2018/08/27 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
python抓取京东商城手机列表url实例代码
2013/12/18 Python
Python修改MP3文件的方法
2015/06/15 Python
Go语言基于Socket编写服务器端与客户端通信的实例
2016/02/19 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
2019/07/23 Python
Python加密模块的hashlib,hmac模块使用解析
2020/01/02 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
keras topN显示,自编写代码案例
2020/07/03 Python
python 实现的IP 存活扫描脚本
2020/12/10 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
利用css3如何设置没有上下边的列表间隔线
2017/07/03 HTML / CSS
Luxplus丹麦:香水和个人护理折扣
2018/04/23 全球购物
大型会议接待方案
2014/03/01 职场文书
职业女性的职业规划
2014/03/04 职场文书
小学三八妇女节活动方案
2014/03/16 职场文书
工作年限证明模板
2014/11/01 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
MySQL面试题讲解之如何设置Hash索引
2021/11/01 MySQL