NodeJS获取Excel表数据

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]

你可能感兴趣的:(node)