通过node读取excel文件的数据非常的简单,需使用node-xlsx这个模块,下面请看代码
var xlsx = require('node-xlsx'); var fs = require('fs'); var sheets = xlsx.parse('./test/test.xlsx'); var arr = []; //sheets是一个数组,数组中的每一项对应test.xlsx这个文件里的多个表格,如sheets[0]对应test.xlsx里的“测试参数”这个表格,sheets[1]对应Sheet2这个表格 sheets.forEach(function(sheet){ var newSheetsArr = []; //sheet是一个json对象,格式为{name:"测试参数",data:[]},我们想要的数据就存储在data里 for(var i=3; i<sheet["data"].length; i++){ //excel文件里的表格一般有标题所以不一定从0开始 var row=sheet['data'][i]; if(row && row.length > 0){ newSheetsArr.push({ testCode: row[5] && row[5].replace(/s/g,''), //部分文本尾部可能会有空格,要去除 id: row[2], //row[2]对应表格里C这列 testid: row[3], tid: row[4], testvalue: row[0], //row[0]对应表格里A这列 }); } } arr.push(newSheetsArr); });
要注意的是如果你excel文件里的表格数据格式或字段不一致的话你就要分别针对每个表格写对应的取数据的key了。
现在arr里就保存着从excel里读取的数据了,现在就可以做后面的事想做的事,比如根据excel文件里的数据拼接参数生成url等。