mongodb中导入表格

1.node安装 导入数据的模块

cnpm i node-xlsx -S

2.实现数据导入 ---- 读取文件信息

var xlsx = require('node-xlsx'); // 数据导入模块
// 导入的文件的绝对路径
var xlsxfile = "E:/myapp/product.xlsx"

router.get('/upload', function (req, res, next) {
  // 1.读取文件的信息并且打印
  res.send(xlsx.parse(xlsxfile))
})

3.实现数据导入 ---- 解析需要的数据

router.get('/upload', function (req, res, next) {
  // 1.读取文件的信息并且打印
  // res.send(xlsx.parse(xlsxfile)) // [{}, {}]

  // 2、取数组中的第一个作为第一张表的数据
  var obj = xlsx.parse(xlsxfile)[0]
  // res.send(obj) // {name:'',data:[[],[]]}
  // res.send(obj.data) // [[], [], []] 内层数组就是Excel表格的每一行的数据

  // 3、获取数组的长度,循环遍历数据,组成需要的对象
  var len = obj.data.length
  // 第一条数据是标题  ["品牌","产品名","数量","公司","价格"],下标从1开始
  // 设计一个插入的数据
  var insertData = []
  for (var i = 1; i < len; i++) {
    insertData.push({
      prorid: 'user_' + uuid.v1(),
      proname: obj.data[i][0], //["品牌","产品名","数量","公司","价格"]
      num: obj.data[i][1] * 1,
      brand: obj.data[i][2] * 1,
      company: obj.data[i][3],
      price: obj.data[i][4] + '',
      
    })
  }

})

4.实现数据导入 ---- 插入数据库

sql.insert(Pro, insertData).then(() => {
    res.redirect('/pros')
  })

 

posted on 2019-10-19 13:51  四月as谎言  阅读(491)  评论(0编辑  收藏  举报

导航