找回密码
 立即注册

QQ登录

只需一步,快速开始

sjtucjy

金牌服务用户

6

主题

8

帖子

30

积分

金牌服务用户

积分
30
sjtucjy
金牌服务用户   /  发表于:2024-4-8 17:49  /   查看:316  /  回复:6
本帖最后由 Joestar.Xu 于 2024-4-24 14:18 编辑

产品:GcExcel
版本:V6.1.3

GCExcel通过API获取sheet页里面单元格的值耗时较长
5b725a3658463ee2b42502df3051718.png140487364.png
607cad07eedb66911e57c93e347c527.png129218138.png

6 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-9 10:50:59
沙发
您好,
GcExcel在getValue/getText的时候会进行计算并缓存计算结果,将计算结果返回。所以这可能是执行图中代码耗时较长的原因。
您可以在获取text前使用 workbook.calculate(); 先做下重算,使计算结果先缓存,此后getValue/getText时将不再重算,而是会直接返回缓存值。
这篇文章介绍了GcExcel的计算引擎原理,可以了解下:
https://gcdn.grapecity.com.cn/showtopic-143102-1-1.html
回复 使用道具 举报
sjtucjy
金牌服务用户   /  发表于:2024-4-9 13:35:34
板凳
Lynn.Dou 发表于 2024-4-9 10:50
您好,
GcExcel在getValue/getText的时候会进行计算并缓存计算结果,将计算结果返回。所以这可能是执行图 ...

已进一步反馈细节,该方法未达到效果,需要提供其他有效的方法
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-9 17:24:19
地板
根据补充的信息做了进一步验证,结果如下:
V6.1.3中, workbook.calculate(); 是否设置对总体耗时时间影响不大, 但是在新版本V7.0.5中测试,使用workbook.calculate();会大幅减少耗时时间。
建议您在自己实际项目中升级版本验证看看。
以下为测试demo及结果,供参考:
5e2fa05f2f2f877320be6be381a16a6.png19033507.png
1c65b7c9ba51518ed0d460bd25327f8.png522432555.png
image.png198736876.png
image.png425239257.png




GcExcel_demo_maven.zip

181.12 KB, 下载次数: 15

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-16 13:45:05
5#
请问楼主是否还有疑问,可以跟帖交流。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:6 天前
6#
请问楼主问题解决了吗?如还有疑问,可跟帖交流。
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:4 天前
7#
您好,由于您长时间未回帖,本贴就先作结帖处理了,后续如果有其他新的问题,欢迎继续发新帖询问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部