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 相关文章推荐
Firefox+FireBug使JQuery的学习更加轻松愉快
Jan 01 Javascript
JavaScript 未结束的字符串常量常见解决方法
Jan 24 Javascript
Javascript 自适应高度的Tab选项卡
Apr 05 Javascript
一些实用的jQuery代码片段收集
Jul 12 Javascript
jquery按回车提交数据的代码示例
Nov 05 Javascript
jquery五角星评分插件示例分享
Feb 21 Javascript
火狐下input焦点无法重复获取问题的解决方法
Jun 16 Javascript
AngularJS语法详解(续)
Jan 23 Javascript
jQuery的事件预绑定
Dec 05 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
Sep 01 Javascript
微信小程序利用云函数获取手机号码
Dec 17 Javascript
Node.js API详解之 string_decoder用法实例分析
Apr 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
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
js 调用百度地图api并在地图上进行打点添加标注
2014/05/13 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
封装属于自己的JS组件
2016/01/27 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
微信小程序实现图片压缩功能
2018/01/26 Javascript
搭建vue开发环境
2018/07/19 Javascript
了解javascript中let和var及const关键字的区别
2019/05/24 Javascript
Node.js API详解之 readline模块用法详解
2020/05/22 Javascript
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
分享给Python新手们的几道简单练习题
2017/09/21 Python
在PyCharm下使用 ipython 交互式编程的方法
2019/01/17 Python
如何基于线程池提升request模块效率
2020/04/18 Python
python中常用的数据结构介绍
2021/01/12 Python
CSS3 实现侧边栏展开收起动画
2014/12/22 HTML / CSS
全球地下的服装和态度:Slam Jam
2018/02/04 全球购物
博朗(Braun)俄罗斯官方商店:德国小家电品牌
2019/09/24 全球购物
迟到检讨书大全
2014/01/25 职场文书
思想品德自我评价
2014/02/04 职场文书
市场专员岗位职责
2014/02/14 职场文书
中专生毕业个人鉴定
2014/02/26 职场文书
社区消防工作实施方案
2014/03/21 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
支部组织生活会方案
2014/06/10 职场文书
专项法律服务方案
2014/06/11 职场文书
舞蹈专业求职信
2014/06/13 职场文书
国庆宣传标语
2014/06/30 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android