请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Ellia.Duan SpreadJS 开发认证
超级版主   /  发表于:2025-3-31 10:07  /   查看:86  /  回复:0
本帖最后由 Ellia.Duan 于 2025-3-31 10:15 编辑

从16版本以来,我们推出了导入 sjs/excel 可以通过懒加载的方式提升打开性能。
首先,我们看一下懒加载是什么,什么情况下适用。
打开官网 Designer  ,将鼠标悬浮在懒加载旁边,可以看到一行话:“仅将活动那个工作表直接加载,其他工作表按需加载。当工作簿中有很多工作表时,启用此选项可加快初始加载速度”
image.png309978942.png
通过这行文字,我们可以清晰,懒加载的适用场景:多 sheet ;初始加载慢


有不少客户有一点困惑,如果当前活动表单公式中存在引用sheet,那这个公式还会正确计算吗?
答案是会的,我们来看下懒加载策略:


  • 如果当前 activesheet 没有依赖 sheet ,那么只会加载当前 sheet
  • 懒加载过程中,当加载 activesheet 的时候,会同时加载依赖 sheet 的 value (只有 value ),来保证当前加载 sheet 的公式正确。
  • 当懒加载过程中,通过 API 去get另外一个 sheet ,那么也会激活对未加载 sheet 的加载过程。



那么,有一个问题,在 open/import  成功导入文件的回调函数中,对 spread.sheets 进行了遍历,如下代码。
此时在打开文件时,设置“懒加载” 是否有效?
答案是“无效的” ,因为通过 api 遍历了所有的 sheet ,不符合懒加载的策略,所以,此时打开速度会发现和不使用“懒加载”是一样的。
  1. let count = spread.getSheetCount();
  2. for (let index = 0; index < count; index++) {
  3.       let sheet = spread.getSheet(index);
  4. }
复制代码







0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部