找回密码
 立即注册

QQ登录

只需一步,快速开始

PS_QD

金牌服务用户

3

主题

6

帖子

19

积分

金牌服务用户

积分
19
  • 81

    金币

  • 3

    主题

  • 6

    帖子

最新发帖
PS_QD
金牌服务用户   /  发表于:2024-9-11 14:52  /   查看:150  /  回复:5
1金币
image.png589594726.png

上面的代码,通过接口导入并渲染的模板页面,发现加载模板时候,使用recalcAll这个方法特别消耗加载时间,
3000条数据,加载时间大约位 25秒,去掉后加载时间 大约 8秒,
大致原因是因为 执行公式计算会触发浏览器的重绘,
后端执行公式计算也会耗时10多秒,和前端差不多
请问,有什么解决办法吗?

5 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2024-9-11 17:11:22
沙发
您好!从您提供的图示中的代码片段了解到是在Workbook:import()的成功回调函数中调用了Worksheet:recalcAll(),请问您想在成功导入文件后重新计算其中的所有公式吗?如果是的话,在导入时可以设置“导入后自动计算”、“增量计算”、“按需计算”等在导入后辅助自动完成计算,同时防止界面卡顿,如下图所示:
151324rgjs45pzjjp5pr4r.png222695311.png

可以参考官网教程了解详情:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/spreadjs-file-format/overview/purejs
https://demo.grapecity.com.cn/spreadjs/help/api/modules/GC.Spread.Sheets#importoptions
回复 使用道具 举报
PS_QD
金牌服务用户   /  发表于:2024-9-12 10:25:50
板凳
1726107674520.jpg707725219.png
参考了下 导入配置、在导入配置里面增加了亮相配置 同样的会造成浏览器渲染很慢,
这种公式计算的操作、在excel导入后再计算,会造成浏览器渲染阻塞、重绘。。
必须通过后端计算公式后 给前端?
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-9-12 11:09:33
地板
PS_QD 发表于 2024-9-12 10:25
参考了下 导入配置、在导入配置里面增加了亮相配置 同样的会造成浏览器渲染很慢,
这种公式计算的操作、 ...

您试下只设置增量计算incrementalCalculation。
回复 使用道具 举报
PS_QD
金牌服务用户   /  发表于:6 天前
6#
Wilson.Zhang 发表于 2024-9-12 11:09
您试下只设置增量计算incrementalCalculation。

只设置增量计算 不行,有的公式不会被计算
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:6 天前
7#
PS_QD 发表于 2024-9-26 15:49
只设置增量计算 不行,有的公式不会被计算

增量计算并非不计算,而是按周期计算单元格,增量计算分批次计算Worksheet中的单元格,以防止因计算过程导致UI冻结。

可以参考官网教程了解下增量计算特性:
https://demo.grapecity.com.cn/sp ... -calculation/purejs
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部