找回密码
 立即注册

QQ登录

只需一步,快速开始

Aria
金牌服务用户   /  发表于:2024-11-11 14:31  /   查看:145  /  回复:11
本帖最后由 Joestar.Xu 于 2024-11-13 09:46 编辑


调研编号:DOCXLS-11490

你好,当绑定的数据源,数据重复度低时,渲染非常慢。demo如下,

TS-21145_v721.zip (7.17 MB, 下载次数: 4)

11 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-11 17:03:24
沙发
您好,您描述的情况我了解了,这边调研一下,后续有进展我会在本贴中回复您。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-13 10:11:00
板凳
您好,需要和您确认一下,渲染结果中的八千个标题是您预期的效果吗?

image.png720776977.png

如果不是,您预期的效果是什么?
回复 使用道具 举报
Aria
金牌服务用户   /  发表于:2024-11-13 11:24:34
地板
客户真实数据渲染也是很慢的,但客户真实数据我们拿不到,根据模板反向mock的数据,标题那一列数据,你可以使用正则,把 标题_x 改统一改成 标题_0,再看下性能表现。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-13 14:19:54
5#
我们这边看了一下您Mock的数据,各个数据之间几乎都是独立的,没有分组关系,而且数据量较大,里面还在做各种各样的公式计算,感觉不到有什么实际意义。

如果是您客户那边渲染较慢,最好是提供一下客户原始结构的数据,可以去掉敏感信息再提供给我们进行测试,不然根据Mock的数据来判断性能表现容易出现南辕北辙的情况。
回复 使用道具 举报
Aria
金牌服务用户   /  发表于:2024-11-13 14:58:08
6#
模板和数据的行列数都是客户实际在用的,真实数据敏感,客户无法提供。
客户真实环境渲染也一样渲染不出来。8000行数据不算多吧。需要真实业务场景支撑的话,用户商品sku报表很容易就有这个量级。
我也试了把mock数据的区分度改为十分之一,聚合后就几个维度,速度自然是会较当前case快的。
所以才说"当绑定的数据源,数据重复度低时,渲染非常慢",我们的目标是解决在发生数据重复度低时,如何提升性能,而不是要求客户把数据重复度变高。客户也不知道我们有这样的限制。
回复 使用道具 举报
Aria
金牌服务用户   /  发表于:2024-11-13 15:11:15
7#
数据在前面做过group by了,传入gc的数据源确实是distinct之后数据还有这么多。
image.png415118102.png
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-13 15:46:01
8#
了解了,我们这边根据数据排查一下看看是否有进一步的优化空间或最佳实践。
回复 使用道具 举报
Aria
金牌服务用户   /  发表于:2024-11-13 16:05:44
9#

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-13 17:30:29
10#
您好,这边调研了一下,发现性能差的点集中在第七行的样式上,导致内部计算样式时花费时间较多。

在清除了第七行的样式后,可以更快地导出Excel文件。

另外我们发现模板中第七行的数据和第六行的数据是一样的,只有Style不一样,不知道是不是模板这里重复了。

直接删除第七行,或者调整一下样式都能有所改善,请参考:

workbook.getActiveSheet().getRange("6:8").getEntireRow().clearFormats();
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部