LuckySheet前端测算
后端将数据和公式返给前端,前端进行计算,消耗的是本地浏览器的资源,LuckySheet官方文档并没有相关文档来说明前端和后端重新计算的案例。通过摸索相关代码如下:
hook: {workbookCreateAfter: function(json){
json.data.forEach((item, index) => {
luckysheet.setSheetActive(item.order);
item.celldata.forEach(o => {
if (o.v.f !== null && o.v.f !=undefined &&o.v.f !=''){
luckysheet.setCellValue(o.r, o.c, {'f': o.v.f})
}
})
})
luckysheet.refreshFormula()
}
},
}
通过LuckySheet的回调函数workbookCreateAfter,WookBook创建之后将值重新刷新覆盖,json中包含的格子的全部数据,需要将只将公式set回去即可,luckysheet.setCellValue(o.r, o.c, {'f': o.v.f,'vt':o.v.vt })
这段代码是重点。但是如果公式特别大,导致前端计算和渲染特别慢,慢的原因是luckysheet.setCellValue太重了,有很多操作,数据量少可以使用。