收藏
回答

云函数调用成功了,但是为什么没有将云存储的excel数据写入云数据库?

各位大佬,我的excel表一万多条数据,解析并上传云函数成功,可是导入云数据库kucun这个表里只有800多条,这是哪里受限制了?有什么好的办法解决呢?谢谢!云函数代码如下:

//云函数入口

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

cloud.init({

  env:'cloud1-3g9vj9c9b1416f'

})

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('kucun')

          .add({

            data: {

              zhonglei: row[0], //中类

              goodsid: row[1], //商品代码

              goodstiaoma: row[2], //商品条码

              goodsname: row[3], //商品名称

             shuliang:row[4],//数量

             add_date:row[5]//db.serverDate() //导入日期

            }

          })

        tasks.push(promise)

        }

    }

  });


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

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

    return res

  }).catch(function(err) {

    return err

  })

  return result

}



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

1 个回答

  • 跨商通
    跨商通
    2022-10-24

    excel表另存为csv,导入数据库,完事。

    2022-10-24
    有用 1
    回复 1
登录 后发表内容