云函数代码如下,参考了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
}
excel里面是否结尾有多余的列或者行。你清理下看看