【17.1.3】迭代计算失败问题
本帖最后由 Wilson.Zhang 于 2024-11-13 13:59 编辑产品:SpreadJS
版本:17.1.3
调研编号:SJS-26444
Last Review:2024-11-13
当前进展:修复中。
详情看附件,导入test.sjs文件后,迭代计算没有成功
如图所示,资产预测sheetH20、I20、J20这三个单元格迭代计算没有成功
操作流程:
1.点击导入按钮,导入test.sjs文件
2.切换到资产预测sheet
3.点击迭代计算按钮
预期结果,H20、I20、J20 和 H19、I19、J19值保持一致
您好!我们调研下先,后续及时向您同步结论。
{:5_110:} Wilson.Zhang 发表于 2024-9-9 18:01
您好!我们调研下先,后续及时向您同步结论。
你好,现在有进展了吗 白鱼 发表于 2024-9-10 16:09
你好,现在有进展了吗
您好!根据您提供的信息,我们导入test.sjs文件后点击”迭代计算“按钮,看到控制台迭代计算完成的信息记录,H20、I20、J20三个单元格的数据不涉及公式运算,是固定值,H19、I19、J19三个单元格的公式计算结果正确。所以,不太理解您所说的”资产预测sheetH20、I20、J20这三个单元格迭代计算没有成功“。如果我们操作或理解存在差异,需要您详细介绍下情况。 Wilson.Zhang 发表于 2024-9-10 17:11
您好!根据您提供的信息,我们导入test.sjs文件后点击”迭代计算“按钮,看到控制台迭代计算完成的信息记 ...
你看下代码里面,20行的值不是固定值。先填入'=(H19+H20)/2'、'=(I19+I20)/2'、'=(J19+J20)/2' 这几个公式,让他产生循环引用进行迭代计算,最后再取value清除formula,最终的效果应该是上下两行单元格的数值是相同的
本帖最后由 Ellia.Duan 于 2024-9-12 09:56 编辑
您好,深入调研您的问题,有进展会及时联系您。SJS-26444 您好,我将此贴移至bug反馈区。产生此问题的原因是:
打开sjs文件时,将calcOnDemand选项设置为false。但是在test.sjs中,calcOnDemand为true,在内部,sjs文件calcOnDemand具有高优先级。
所以,加载后,calcOnDemand仍然为true,那么iterativeCalculation不起作用。
在此问题修复前,您可以在成功导入后,再次设置calcOnDemand为false 即可。
spread.open(file, () => {
spread.options.calcOnDemand = false;
}, (error) => console.error('openSJSFile', error),
{
includeStyles: true,
includeFormulas: true,
fullRecalc: true,
dynamicReferences: true,
calcOnDemand: false,
includeUnusedStyles: true,
openMode: GC.Spread.Sheets.OpenMode.lazy
}
);
页:
[1]