如何使用, 直接上代码
- /**
- * 安装 node-xlsx 插件
- */
- var path = require('path')
- var fs = require('fs')
- var xlsx = require('node-xlsx')
- // 去重算法
- Array.prototype.unique = function () {
- this.sort(); // 先排序
- var res = [this[0]];
- for (var i = 1; i < this.length; i++) {
- if (this[i] !== res[res.length - 1]) {
- res.push(this[i]);
- }
- }
- return res;
- }
- // 取得 xlsx
- var obj = xlsx.parse(path.resolve(`./xlsx/x.xlsx`))
- var newArray = []
- // 读取第一列
- //obj[0].data: 指第一个 sheet 的表格数据
- //data 内部的数据结构为:
- //[[ 'field1','field2','field13' ],[ 'field1','field2','field13' ]]
- for (var data of obj[0].data) {
- newArray.push(data[0])
- }
- // 去重之前
- console.log(newArray.length)
- var openIds = newArray.unique();
- // 去重之后
- console.log(newArray.length)
- var j = 0
- for (var i = 0; i < newArray.length; i++) {
- // 每一行
- console.log(newArray[i])
- }
解析一下
node-xlsx 导出的数据结构如下:
- //json 结构
- [{
- name: 'sheet1 name',
- data: [['field1', 'field2', 'field13'],
- ['field1', 'field2', 'field13']]
- },
- {
- name: 'sheet2 name',
- data: [['field1', 'field2', 'field13'],
- ['field1', 'field2', 'field13']]
- }]
以上就是小编整理的全部内容, 很多时候我们用到对 EXCEL 的文件操作, 大家在测试的时候如还有任何疑问可以在下面的留言区讨论, 感谢大家对脚本之家的支持.
来源: http://www.jb51.net/article/138712.htm