SpreadJS默认计算模式下,部分函数的计算结果可能与Excel中不一致,例如对于一些逻辑与或运算,如下图,
在Excel中,对C2单元格应用And函数,引用的A2,B2单元格为文本内容,在Excel中返回#value,即引用数据不合法的含义。这是因为在Excel中,逻辑函数的判断参数不能为文本或者空。
但对于这类函数,在SpreadJS默认的计算逻辑下,会返回True,这是因为在前端js中,对一些字符串进行判断时,会返回逻辑值。这一特性,在一些客户的业务场景下是比较符合业务场景的。但对于一些做类Excel业务场景下,这一点与Excel的表现属于冲突,可能会被使用者当成是产品的bug。
为了兼顾前端js特性,又能满足Excel的计算逻辑,SpreadJS提供了切换计算模式的API。默认情况下,使用默认的计算逻辑,可能与Excel计算结果不一致。如果想要与Excel的计算结果相同,可以使用下面的API来设置:
- GC.Spread.CalcEngine.ExcelCompatibleCalcMode = true
复制代码
|
|