对于自定义公式,在产品研发过程中,代码会反复修改,或者产品上线后,代码修复,都会造成历史保存的数据中包括的公式定义,和最新的公式定义不一致。
如下是载入已保存数据的代码,主要逻辑是,如果数据库已经保存了数据,就从数据库加载数据(workBook.fromJSON),否则,就添加自定义公式定义
public async setState() {
const workBook = this.designer!.getWorkbook() as GC.Spread.Sheets.Workbook;
if (this.agileReport.master.spread_state) {
this.setTypeFromString();
workBook.suspendPaint();
workBook.suspendCalcService();
await workBook.fromJSON(JSON.parse(this.agileReport.master.spread_state));
this.addCustomFunction(workBook);
workBook.resumeCalcService();
workBook.resumePaint();
} else {
this.addCustomFunction(workBook);
}
}
这里存在一个问题:如果对用一个公式(例如MyFormula),如果改动过,已经保存的数据再次加载进来后,其中的公式就不能正常运算了。
我想知道的是,这种需要不断迭代自定义公式的场景下,应该怎么开发自定义公式?
|
|