您好,
首先说明一下问题涉及的背景:
SpreadJS(GcExcel同理)有内置公式(比如sum),也允许用户根据业务逻辑自定义公式(如文件中的EFFECTIVENUM公式)。
由于公式是自己定义的,SpreadJS和GcExcel都不会主动识别出它,除非将公式相关代码注册到spread或workbook中。
针对您的问题,有如下两种方案:
1、GcExcel关闭计算引擎
在没有做特殊设置的前提下, SpreadJS导出的json文件包含自定义公式name和已经计算出的公式缓存值,如果此时在GcExcel中关闭公式引擎,那么GcExcel就不会对公式进行计算了,也就不会识别出不认识的自定义公式,进而避免计算出公式值。此时导出的pdf显示的依然是公式缓存值,即表现为SpreadJS公式结果一致。
这种方案适合于GcExcel不需要计算的应用场景,需要您根据自己业务判断是否可取。
2、GcExcel正常计算公式
这应是您目前在用的方案,只是从问题来看出来了二者计算结果不一致的问题。
为了进行验证,需要您分别提供SpreadJS 和 GcExcel注册该自定义函数的相关代码,这样才能做下一步的复现工作。
附件提供了SpreadJS demo模板,您可以在其中进行补充,需要能复现所描述的问题。
GcExcel自定义函数示例:
https://demo.grapecity.com.cn/do ... mos/customfunctions
|
|