Lay.Li 发表于 2022-10-26 18:26:15

干货必读提升性能:四、excel公式

本帖最后由 Lay.Li 于 2022-11-17 16:39 编辑

excel公式是大家在使用活字格时经常使用到的功能,有不少的格友当初就是奔着类excel的操作才选择的活字格。那么本期的性能优化就带大家了解一下活字格中使用excel函数提升性能的一些小技巧。:itwn:
首先活字格对excel公式的支持效果是很好的,支持的excel公式也有许多。曾经见过很多excel大佬,使用纯excel函数来绘制表格,绘制日历。{:2_31:}
但是当页面中使用了很多的excel函数,加载,刷新起来肯定是会有些慢的,但是由于活字格对excel的支持很强,过多的excel函数对性能的影响还是比较小的。

相反,使用简便的excel函数代替复杂的逻辑,将复杂的需求用简单的excel函数来实现,反而会大大的提升应用的性能{:2_26:}
比如有这么一个需求页面中有一种400多行的省市表,现在要求将北京市的所有下级地区使用逗号合并到表下方的多行文本框中

先看第一种方案
在页面加载时命令中使用循环去拼接

几次运行后发现页面加载耗时在400毫秒以上

第二种方案,使用简便的textjoinif函数进行拼接

集成运行发现,页面加载总耗时在200毫秒左右。

从400毫秒到200毫秒,性能整整提升了一倍啊{:3_59:}
可见同一个需求,实现方式不同,得到的结果也有很大的不同。

但是excel最好,使用时也是需要注意避免无限制的嵌套引用的{:3_47:}
我们遇到过很多格友反馈页面加载的非常慢,点击一个按钮执行命令也特别的慢,明明页面设置的也不是很复杂,命令也没有很多复杂的逻辑。但就是运行的很慢,最终调查发现是因为在页面中使用了互相嵌套的引用,无限循环的命令。如下图所示这样的引用,a1的值是b1+1而b1的值又是a1+1。这样的话当a1的值发生变化,b1的值就变化,反过来有引起了a1值的变化,如此往复一直循环,最终造成的结果就是系统很卡,页面很卡。{:3_44:}


当然,大家肯定不会这么去使用,大多数都是在不小心的情况下产生了循环调用,或者是没有把握好文本框值改变触发命令的原因,造成了循环命令的出现。比如经典的单价*数量=总价的问题。这里就要给大家提到值变更原因的使用了,可以参考下方这个帖子,大家在文本框中使用命令的时候一定要避免命令触发之后改变文本框的值再一次触发文本框的命令造成死循环。{:3_54:}
活字格7.0 update1新功能解密:十八,命令提升-条件命令中可以判断值变更的原因
https://gcdn.grapecity.com.cn/fo ... 98068&fromuid=64322
(出处: 葡萄城产品技术社区)

好了今天的性能优化分享就到这里,这篇性能优化主要凭借的是大家对活字格的了解,如果学习的越多,知道的用法越多,就越能找出更简便的方案去使用:loveliness:






页: [1]
查看完整版本: 干货必读提升性能:四、excel公式