收藏
回答

通过云函数导入xls文件到记录集,出现添加每一条记录后又都增加了一条空白记录?

云函数代码如下,参考了https://blog.csdn.net/qiushi_1990/article/details/103032681

现在是可以通过云函数导入xls文件到记录集,但是出现添加每一条记录后又都增加了一条空白记录(只有记录号_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) { 

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

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

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

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

        const promise = db.collection('BabyInfo')  //云数据库中的数据集名称,需提前建立

          .add({

            data: {

              appdate: row[0],//导入日期

              healthcode: row[1], //保健号码(前面加上GS)   'GS' + row[1],

              babyname: row[2], //姓名      

            }

          })

        tasks.push(promise)

      }

    }

  });

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

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

    return res

  }).catch(function (err) {

    return err

  })

  return result

}

最后一次编辑于  2020-05-01
回答关注问题邀请回答
收藏

1 个回答

  • Admin ²º²⁴
    Admin ²º²⁴
    2020-05-01

    excel里面是否结尾有多余的列或者行。你清理下看看

    2020-05-01
    有用 2
    回复 1
    • 郭松
      郭松
      2020-05-01
      好的,我试试
      2020-05-01
      回复
登录 后发表内容
问题标签