收藏
回答

小程序导入EXCEL后如何保存到云数据库?

小程序导入EXCEL后如何保存到云数据库? 我excel已经导入到云存储了返回了ID,传给了云函数,但是还是无法添加数据

云函数是否有问题:

const cloud = require('wx-server-sdk')

cloud.init()

var xlsx = require('node-xlsx');

const db = cloud.database()


exports.main = async(event, context) => {

  let {

    fileID

  } = event

  //1,通过fileID下载云存储里的excel文件

  const res = await cloud.downloadFile({

    fileID: fileID,

  })

  const buffer = res.fileContent


  const tasks = [] //用来存储所有的添加数据操作

  //2,解析excel文件里的数据

  var sheets = xlsx.parse(buffer); //获取到所有sheets

  sheets.forEach(function(sheet) {

    console.log(sheet['name']);

    for (var rowId in sheet['data']) {

      console.log(rowId);

      var row = sheet['data'][rowId]; //第几行数据

      if (rowId > 0 && row{ //第一行是表格标题,所有我们要从第2行开始读

        //3,把解析到的数据存到excelList数据表里

        const promise = db.collection('users')

          .add({

            data: {

              name: row[0], //姓名

              age: row[1], //年龄

              address: row[2], //地址

              wechat: row[3//wechat

            }

          })

        tasks.push(promise)

      }

    }

  });


  // 等待所有数据添加完成

  let result = await Promise.all(tasks).then(res => {

    return res

  }).catch(function(err) {

    return err

  })

  return result

}


回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容
问题标签