找回密码
 立即注册

QQ登录

只需一步,快速开始

Dtttax

高级会员

235

主题

571

帖子

1846

积分

高级会员

积分
1846
Dtttax
高级会员   /  发表于:2024-2-26 15:59  /   查看:485  /  回复:3
1金币
本帖最后由 Lynn.Dou 于 2024-2-27 11:24 编辑

我们对一个sheet上的某些单元格设置值,发现特别耗时,这个sheet的公式特别多且复杂,如:
ROUND(IF(YEAR(D7)=YEAR('T-recon'!$B$3),0,IF(YEAR(D7)=YEAR('T-recon'!$B$3)-1,IF(MONTH(D7)=12,IF(LEFT(MID(J7,4,1))="无",1,0)*(F7*(1-G7)/H7),IF(DATEDIF(D7,EDATE('T-recon'!$B$3,-12),"M")>=H7,F7*(1-G7),IF(LEFT(MID(J7,4,1))="无",((DATEDIF(D7,EDATE('T-recon'!$B$3,-12),"M"))+1),(DATEDIF(D7,EDATE('T-recon'!$B$3,-12),"M")))*(F7*(1-G7)/H7))),IF(DATEDIF(D7,EDATE('T-recon'!$B$3,-12),"M")>=H7,F7*(1-G7),IF(LEFT(MID(J7,4,1))="无",((DATEDIF(D7,EDATE('T-recon'!$B$3,-12),"M"))+1),(DATEDIF(D7,EDATE('T-recon'!$B$3,-12),"M")))*(F7*(1-G7)/H7)))),2),
我们尝试在设置值时用spread.suspendCalcService(false)和spread.resumeCalcService(true),稍微好一点,但还是很卡,还有什么更好的方法吗?

3 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-2-26 17:45:01
沙发
您好,公式的优化涉及到底层的公式引擎,使用API能提升的性能有限,新版本相比旧版本在公式引擎上做了很多优化,建议您使用新版本测试一下看看是否有提升。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-3-19 16:35:54
板凳
您好,看到您长时间未回复了。您有没有尝试用新版本去测试下,看是否可以解决您的问题?如果还存在问题,您可以追贴询问。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-3-28 15:39:05
地板
没有看到您再回复,这个帖子先结帖了。如果问题仍未解决,欢迎继续回帖沟通
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部