以下是云函数的主要代码。
exports.main = async(event, context) => {
try {
let {userdata} = event.detaildata
//1,定义excel表格名
let dataCVS = '明细.xlsx'
//2,定义存储数据的
let alldata = [];
let row = ['客户名称', '日期','摘要', '科目','借方', '贷方']; //表属性
alldata.push(row);
for (let key in userdata) {
let arr = [];
arr.push(userdata[key].User);
arr.push(userdata[key].Date);
arr.push(userdata[key].Ex);
arr.push(userdata[key].CB);
arr.push(userdata[key].Credit);
arr.push(userdata[key].Debit);
alldata.push(arr)
}
//3,把数据保存到excel里
var buffer = await xlsx.build([{
name: "mySheetName",
data: alldata
}]);
//4,把excel文件保存到云存储里
return await cloud.uploadFile({
cloudPath: dataCVS,
fileContent: buffer, //excel二进制文件
})
} catch (e) {
console.error(e)
return e
}
}
以下是JS代码
sendEML:function(){
let that = this
console.log(this.data.detaildata)
wx.cloud.callFunction({
name: "excel",
data: {
detaildata:this.data.detaildata,
balancedata:this.data.balancedata,
},
success(res) {
console.log("保存成功", res)
that.getFileUrl(res.result.fileID)
},
fail(res) {
console.log("保存失败", res)
}
})
},
返回的结果是保存成功,但是在云开发的文件里找不到。请教这是为什么。谢谢
解决了吗,我也遇到同样的问题了。
let dataCVS = Date.now()+'明细.xlsx'
每次换个文件名试试。理由:缓存的原因。
最迷惑的是,我在第一次执行的时候,这个文件还真就保存上了。之后就再也保存不上了。