找回密码
 立即注册

QQ登录

只需一步,快速开始

BND

高级会员

170

主题

526

帖子

1826

积分

高级会员

积分
1826
BND
高级会员   /  发表于:2022-8-20 16:52  /   查看:1700  /  回复:6
1金币
企业微信截图_16609854248216.png60666197.png 企业微信截图_16609854652759.png357956237.png 现在用便利的方法一个一格设置,非常的卡,30格可以卡个两三秒

最佳答案

查看完整内容

您好:编辑权限控制支持区域操作,参考下图哈。 公式设置的可以考虑数组公式是否满足需求。如否,目前只支持循环设置,在进行大量公式设置时,可通过挂起绘制和暂停计算过程来提高效率。 spread.suspendPaint(); sheet.suspendCalcService(true); //todo 设置公式 sheet.resumeCalcService(false); spread.resumePaint(); https://demo.grapecity.com.cn/spreadjs/help/docs/SettingLargeAmountsofFormulas.html

6 个回复

倒序浏览
最佳答案
最佳答案
ann悬赏达人认证
初级会员   /  发表于:2022-8-20 16:52:32
来自 2#
您好:编辑权限控制支持区域操作,参考下图哈。
image.png461252440.png
公式设置的可以考虑数组公式是否满足需求。如否,目前只支持循环设置,在进行大量公式设置时,可通过挂起绘制和暂停计算过程来提高效率。
spread.suspendPaint();
sheet.suspendCalcService(true);
//todo 设置公式
sheet.resumeCalcService(false);
spread.resumePaint();
https://demo.grapecity.com.cn/sp ... untsofFormulas.html
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-8-22 09:16:46
3#
你好,如果是想要给指定的区域设置locked属性,可以用sheet.getRange(0,0,10,10).locked(false);

另外,在设置前或者开始遍历前,先调用sheet.suspendPaint();遍历完成后再调用sheet.resumePaint();恢复绘制。如果有公式,也可以先挂起公式。

也就是说,可以通过下面的代码来进行优化。
sheet.suspendPaint();
sheet.suspendCalcService(false);
//你的逻辑
sheet.resumeCalcService(true);
sheet.resumePaint();

回复 使用道具 举报
BND
高级会员   /  发表于:2022-8-22 17:28:49
4#
ann 发表于 2022-8-22 09:10
您好:编辑权限控制支持区域操作,参考下图哈。

公式设置的可以考虑数组公式是否满足需求。如否,目前只 ...

我第二张图那个隐藏也支持用getRange来范围设置吗设置?
回复 使用道具 举报
BND
高级会员   /  发表于:2022-8-22 17:28:54
5#
Derrick.Jiao 发表于 2022-8-22 09:16
你好,如果是想要给指定的区域设置locked属性,可以用sheet.getRange(0,0,10,10).locked(false);

另外, ...

我第二张图那个隐藏也支持用getRange来范围设置吗设置?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-8-22 18:34:23
6#
BND 发表于 2022-8-22 17:28
我第二张图那个隐藏也支持用getRange来范围设置吗设置?

我看第二张图是遍历清除公式,这个只能通过遍历来实现。如果用了上述方法后仍存在性能问题,可以提供对应的demo,这边来做排查。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-9-2 23:38:25
7#
不知道楼主问题是否解决,如果还存在性能问题,欢迎继续上传demo我们来协助验证
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部