nodejs分析excel文件将结果写入excel文件

原创 2016年10月05日 00:01:20

背景

因为 Team 本身工作性质的问题,平时需要值班。值班数据可以导出为本地的Excel文件。之后需要对Excel中的结果数据做分析,并且制作图表写周报发给老大。

对于我这种对word都玩不转的人,别说用Excel中强大的公式分析数据了��。轮到我值班的时候就用nodejs写了一个脚本自动处理Excel中的数据,并且将数据再写入Excel文件。后来分享给同事,得到了老大的夸奖,自信心爆棚 ��

之前仅仅为了满足工作的需要写的比较的随便,刚好国庆有时间按照CMD规范重写一下。然后分享给大家。

脚本目的

读取Excel文件,分析Excel中的数据,并且将结果写入Excel中。

使用的第三方包

在这个过程中使用了两个第三方的包分别如下:

require('date-utils');
var xlsx = require('node-xlsx');

使用date-utils主要是用来做一些时间上的处理。比如说时间差,当前时间向后加七天的日期。这个包非常的强大。可以看下API:

具体的API详细文档可以参考这里:点击这里

上面的两片文档可以结合着看。

<static>这些方法扩展的是Date对象,而后面的这些方法这些用于对象的实例。实例代码如下:


//当前日期推后7天的日期
var time = '2016-10-04 14:30:24'
var nextSevenDay = (new Date(time)).add({'day':7});

//比较时间差
var temp = Date.compare(time1,time2);   //结果位数值
  1. node-xlsx主要做一些excel相关的处理

比如说读取Excel 文件:

var workExcel = xlsx.parse('xxx.xls');

比如创建excel文件对象:

var buffer = xlsx.build([{name: name, data: datalist}]);

cmd规范相关内容

如果对CMD规范不熟悉的话可以参考这里

我的脚本的目录结构如下:

如果对package.json文件配置不是很熟悉的话可以参考这里

主要代码解析:

通过node-xlsx 读取的excel文件就是一个json数据。我们应该都知道一个Excel文件可以包含多张表,每张表都可以管理自己的数据。

看照上面已知内容,代码如下:

//读取某个excel文件
var chatExcel = xlsx.parse('./历史记录.xls');

//获取需要excel某个表中的数据
var tableData = excelFunc.getDataContent('历史记录', chatExcel);

//获取当前表中获取第一行数据,通常在excel中这一行就是每一列的title
var tableTitle = tableData[0];

在使用nodejs的过程中可能最大的一个迷惑就是区别exportsmodule.exports吧,它们两者的主要区别如下:

1. 简单的代码示例:

一个test1.js文件,其中代码如下:


module.exports="test";

exports.fileName = function(){
    console.log('test1');
};

在test2.js文件中使用test1.js模块的方法:

var test1 = require('test1');

test1.fileName();    //TypeError: Object test! has no method 'fileName'

2. 如果模块是一个类如有一个consoleName.js的文件,其中代码如下:

module.exports=function(name){
    this.name =name;
    this.consoleName = function(){
        console.log(this.name);
    }
}

其它模块中的调用模块的方法:

var ConsoleName = require('consoleName');
var con = new ConsoleName('zhiqiang');
con.consoleName();  //zhiqiang

3. 如果模块是一个数组,例如有一个test1.js的文件,其中的代码如下:

module.exports =['zhiqiang1','houzhiqiang'];

在其它模块的调用方法

var arr =require('test1')
console.log(arr[1])   //houzhiqiang

其它的代码就没有什么别的了,都是关于公式的存计算的问题。如果有兴趣的同学可以访问源码看一下。源码地址


图片名称

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

nodejs读写excel内容

支持读写Excel的node.js模块 node-xlsx: 基于Node.js解析excel文件数据及生成excel文件,仅支持xlsx格式文件; excel-parser: 基于Node.js...

用NODEJS处理EXCEL文件导入导出,文件上传

用NODEJS处理EXCEL文件导入导出

用NODEJS处理EXCEL文件

——edited by 李家优 有一些当时备份成 Excel 文件的旧数据,想把它们的数据结构调整一下,并对相关数据进行合并,以方便数据使用。这其实是之前一直想做的事,当时还在用 vs2008 写...

node.js上传并解析Excel文件

2016-09-21 今天写的 这个小实例,一般是用在有很多数据进行添加 的时候。还是一个小前端,但是无奈于boss的压力,只能自己写接口,学nodejs mongodb 各种不懂[ 微笑脸 ] ...

Nodejs获取网络数据并生成Excel表格

Nodejs的模版中有很多关于Excel表格的,这里我简单介绍一下我使用过的一个模块的使用。首先,先安装Excel的模块:npm install node-xlsx然后,在代码中引入模块:var xl...

堆排序

对于堆排序来说,首先需要做的是要建堆,建堆是一个不断调整堆的过程,能够在线性时间内完成。 堆排序的过程 1、建堆,建堆是不断调整堆的过程,从len/2处开始调整,一直到第一个节点,此处l...

在浏览器和node中使用 GitHub的js-xlsx库进行Excel文件处理(一)

1.简介js-xlsx 库是目前 Github 上 star 数量最多的处理 Excel 的库,功能强大,提供了各种对表格的操作,但是这个项目文档有些乱,提供的demo也只具备最基本的功能。本文对 j...
  • sam976
  • sam976
  • 2016-07-31 23:58
  • 2730

用NODEJS处理EXCEL文件导入导出

参考文章 http://librajt.github.io/2013/08/04/handle-excel-file-with-nodejs/ 对比了 ExcelJS , ...

nodejs excel导入导出

nodejs excel导入导出 用excel-export包导出 1安装excel-export 2自定义exportExcel函数封装 3业务使用 excel导入 1需要安装的包 2前端代码示例 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)