1. 安装和引入依赖模块
(1)安装node-xlsx模块并引入node-xlsx模块
npm install node-xlsx --save
nodeXlsx = require('node-xlsx')
(2)安装async模块并引入该模块(这步不是一定需要)
npm install async --save
async = require("async");
2. 读取Excel文件
obj = nodeXlsx?.parse(file_url)
excelData = obj[0].data
解析:file_url是Excel文件的地址,excelData是获取到的Excel文件数据,数据格式为[[],[],...]
3. 删除第一行数据(这步根据需要,如果是标题,又不需要就可以删除,_.drop是lodashjs写法)
excelData = _.drop(excelData, 1)
4. 数据处理(coffeescript写法)
funcs = _.map excelData, (data) ->
(cb) ->
if data?.length isnt 0
dealExcelData data, cb
else
return cb null, null
# 并行执行
async.parallelLimit funcs, 5, (error, result) ->
if error
return cbf error, null
else
# 去除假值
newResult = _.compact result
return newResult
# excel数据处理,将数组改成对象
dealExcelData = (excelData) ->
tmpObj = {}
# 将数据拼接成对象
tmpObj =
prod_name: excelData?[0]
prod_code: excelData?[1]
prod_sub: excelData?[2]
prod_value_date: excelData?[3]
prod_end_date: excelData?[4]
prod_syl: excelData?[5]
prod_term: excelData?[6]
prod_max: excelData?[7]