Posted 4 August 2021, 7:37 am EST
In this case, you may handle the EditEnding event and cancel the even if formula is invalid. You may refer to the following code snippet and the sample:
spread.bind(GC.Spread.Sheets.Events.EditEnding, (e, args) => {
let text = args.editingText;
// not formula
if (!text || !text.startsWith("=")) {
return;
}
// check if formula is valid
try {
var res = GC.Spread.Sheets.CalcEngine.evaluateFormula(
args.sheet,
text,
args.row,
args.console,
false
);
} catch (err) {
// invalid formula, maintain edit mode
args.cancel = true;
alert("Invalid formula");
}
});
https://codesandbox.io/s/hidden-http-ssc7z?file=/src/index.js