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 相关文章推荐
jquery 操作单选框,复选框,下拉列表实现代码
Oct 27 Javascript
javascript 异步页面查询实现代码(asp.net)
May 26 Javascript
JS时间选择器 兼容IE6,7,8,9
Jun 26 Javascript
js 利用image对象实现图片的预加载提高访问速度
Mar 29 Javascript
JQueryEasyUI Layout布局框架的使用
Apr 08 Javascript
JavaScript函数模式详解
Nov 07 Javascript
node.js中的path.isAbsolute方法使用说明
Dec 08 Javascript
c#程序员对TypeScript的认识过程
Jun 19 Javascript
解决Vue+Element ui开发中碰到的IE问题
Sep 03 Javascript
vue绑定事件后获取绑定事件中的this方法
Sep 15 Javascript
vue 通过绑定事件获取当前行的id操作
Jul 27 Javascript
如何利用JavaScript实现二叉搜索树
Apr 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计算两个路径的相对路径
2013/06/14 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
2017/06/02 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
让焦点自动跳转
2006/07/01 Javascript
用JQuery在网页中实现分隔条功能的代码
2012/08/09 Javascript
jquery中的事件处理详细介绍
2013/06/24 Javascript
js简单实现删除记录时的提示效果
2013/12/05 Javascript
php常见的页面跳转方法汇总
2015/04/15 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
简洁实用的BootStrap jQuery手风琴插件
2016/08/31 Javascript
如何正确理解javascript的模块化
2017/03/02 Javascript
Vue中fragment.js使用方法详解
2017/03/09 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/15 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
jQuery中的deferred对象和extend方法详解
2017/05/08 jQuery
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
Vue配置marked链接添加target="_blank"的方法
2019/07/19 Javascript
Vue实现开心消消乐游戏算法
2019/10/22 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
原生JavaScript实现拖动校验功能
2020/09/29 Javascript
python实现查找两个字符串中相同字符并输出的方法
2015/07/11 Python
深入解析Python编程中JSON模块的使用
2015/10/15 Python
Python实现全角半角字符互转的方法
2016/11/28 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
python使用pyecharts库画地图数据可视化的实现
2020/03/25 Python
python3获取控制台输入的数据的具体实例
2020/08/16 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
园长自我鉴定
2013/10/06 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
2014年初中班主任工作总结
2014/11/08 职场文书
新人入职感言
2015/07/31 职场文书