Java环境下如何实现JS Excel的异步函数
本文主要介绍Java环境下如何实现JS Excel的异步函数。
Spread.Sheets 提供了 AsyncFunction 函数来计算异步数据; 该函数用在不能立刻获取计算结果的时候使用, 比如数据或者计算方法在服务器端的时候。
1. 新建一个类型并且从 GC.Spread.CalcEngine.Functions.AsyncFunction 派生。
2. 当结果不能立即计算完成时可以使用 defaultValue 来暂时代替计算结果。
3. 使用 evaluateAsync 方法来进行计算, 并且在异步计算完毕后使用context.setAsyncResult 方法来讲计算结果通知Spread.Sheets。
4. AsyncFunctionEvaluateMode 代表了异步函数的计算模式, 总共有如下3种计算模式:
∙0 表示函数在单元格需要计算是进行重算. 例如: B1='MyAsync1(A1) + MyAsync2(A2)', 当A1 的值改变时, B1中的公式就会重新计算, 因此
'MyAsync1(A1)' 和'MyAsync2(A2)' 都会进行重算。
∙  1 表示函数只需要计算一次。
∙  2 表示‘FRESH’函数中的公式会随着时间的间隔去进行计算。
5. Spread.Sheets 提供了fresh 方法。
∙第一个参数可以使任意公式。
∙计算模式应该是
GC.Spread.CalcEngine.Functions.AsyncFunctionEvaluateMode枚举类型中的一个。
∙interval只有在计算模式是2的时候才会起作用。
∙一般来说,fresh函数是最外层的函数。
∙当我们把异步函数放在REFRESH 函数中时, 异步函数将会使用REFRESH 的参数, 而自己的那些参数将不再起作用。
6. 使用 addCustomFunction 方法来添加并定义异步函数,然后这个自定义函数就能够在 setFormula 方法中使用或者直接通过键盘输入了。
效果展示:
>函数prototype

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。