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 相关文章推荐
js 加载并解析XML字符串的代码
Dec 13 Javascript
JavaScript Event学习第九章 鼠标事件
Feb 08 Javascript
js 实现菜单上下显示附效果图
Nov 21 Javascript
分享20个提升网站界面体验的jQuery插件
Dec 15 Javascript
JQuery.get提交页面不跳转的解决方法
Jan 13 Javascript
JavaScript使用键盘输入控制实现数字验证功能
Aug 19 Javascript
html5 canvas 详细使用教程
Jan 20 Javascript
如何用js判断dom是否有存在某class的值
Feb 13 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
Oct 08 Javascript
使用vue-router完成简单导航功能【推荐】
Jun 28 Javascript
如何开发一个渐进式Web应用程序PWA
May 10 Javascript
关于React Native使用axios进行网络请求的方法
Aug 02 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设计模式之命令模式使用示例
2014/03/02 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
2014/06/13 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
golang、python、php、c++、c、java、Nodejs性能对比
2017/03/12 NodeJs
PHP迭代与递归实现无限级分类
2017/08/28 PHP
游戏人文件夹程序 ver 3.0
2006/07/14 Javascript
window.ActiveXObject使用说明
2010/11/08 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
JavaScript实现Iterator模式实例分析
2015/06/09 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
在web中js实现类似excel的表格控件
2016/09/01 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
利用JS实现scroll自定义滚动效果详解
2017/10/17 Javascript
js实现手机web图片左右滑动效果
2017/12/29 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
2019/04/04 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
JS document内容及样式操作完整示例
2020/01/14 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
python微信跳一跳系列之棋子定位像素遍历
2018/02/26 Python
使用sklearn之LabelEncoder将Label标准化的方法
2018/07/11 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
美国在线工具商店:Acme Tools
2018/06/26 全球购物
智能家居、吸尘器、滑板车、电动自行车网上购物:Geekmaxi
2021/01/18 全球购物
运动会广播稿400字
2014/01/25 职场文书
数控技校生自我鉴定
2014/04/19 职场文书
商业项目策划方案
2014/06/05 职场文书
Python Flask实现进度条
2022/05/11 Python