找回密码
 立即注册

QQ登录

只需一步,快速开始

funnychen

注册会员

1

主题

1

帖子

6

积分

注册会员

积分
6
  • 18

    金币

  • 1

    主题

  • 1

    帖子

最新发帖
funnychen
注册会员   /  发表于:2024-4-16 17:01  /   查看:210  /  回复:2
本帖最后由 Lynn.Dou 于 2024-4-17 14:33 编辑

当前功能开发有个需求,就是表格需要根据后端返回的数据自行进行动态扩展,保证数据的时效性,后端数据返回的可以理解为就是个二维表的数据。

大概思路:

1. 根据数据行,补充剩余 sheet 的行数,防止插入时报错 (sheet.addRows)
2. 添加表格行(table.insertRows)
3. 遍历表格列,依次插入每行的数据,理论上会有 col * row 次循环操作

目前的数据量大概为 58 列 * 2万 行的样子,初次加载渲染会导致页面无法操作甚至卡死崩溃

中间会有一些复制样式和设置行高的操作,有用 sheet.suspendEvent() 和 sheet.suspendPaint() 方法,主要还是卡在渲染的过程中

有没有什么方法可以让渲染变快点,或者渲染过程中尽量不要让页面无法操作(这个感觉不好做,渲染过程可能占满了浏览器进程,导致无法响应其他操作)




2 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-16 17:35:32
沙发
您好,如此大的数据量我建议您使用数据绑定而不是循环的方式来实现,请参考:

https://demo.grapecity.com.cn/sp ... able-binding/purejs
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-24 14:06:16
板凳
您好,请问您的问题是否已经解决,如果仍未解决,欢迎继续回帖,我们来协助调研。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部