找回密码
 立即注册

QQ登录

只需一步,快速开始

finstone-lush
金牌服务用户   /  发表于:2021-12-14 09:18  /   查看:2106  /  回复:4
本帖最后由 finstone-lush 于 2021-12-14 09:23 编辑

通过 spread.toJSON()接口导出数据时,如果增加 columnHeadersAsFrozenRows :true  序列化设置,性能损耗非常严重,
通过官方Excel导出的Demo代码测试:

image.png577298278.png
image.png424423522.png
数据量越大,差异越大,如果模板中设置了列头固定,那么差异会更大,我这边现有1个3000多条的数据,30列左右,涉及4-5列的公式计算,3个单元格状态,以及数据不定的条件格式(数量在3-5之间),设定了表头列,现在导出需要 8分钟左右(toJSON的时间),导出序列化设置:



spread.toJSON({columnHeadersAsFrozenRows: true, ignoreStyle: false,
            ignoreFormula: true, rowHeadersAsFrozenColumns: false, includeBindingSource: true});


因为是上线数据,涉及到数据保密性,有些是通过后期的代码进行数据处理生成,所以不好给出demo





4 个回复

倒序浏览
finstone-lush
金牌服务用户   /  发表于:2022-1-10 15:45:20
推荐
曲线方式,克隆了有个spread对象,然后减少样式、去除公式、去除Table组件、去掉单元格状态、条件格式等等减小ssjson体积,现在的导出勉强可以了

评分

参与人数 1金币 +200 收起 理由
Lynn.Dou + 200 很给力!

查看全部评分

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-12-14 10:03:57
沙发
你好,这边根据你的描述模拟了一下对应的数据,测试结果再1秒左右,未能复现你描述的问题。
image.png772530822.png

附件是我测试的demo,可以下载看能否复现。如果数据涉及到保密内容,请参考附件,看能否模拟出类似的数据,复现之后请提供给我们。另外,我们这边测试的是14.2.5,你可以可以尝试升级产品版本看能否得到优化。

inandout.html

14.12 KB, 下载次数: 152

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-1-10 09:02:45
板凳
        不知道楼主的问题解决了没?      
        如果已经解决了可以分享一下解决方案么?说不定可以帮助到后续小伙伴哦~      
        如果没有还没有解决,可以提供一些问题的详细描述,这边协助您解决哦~      
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-1-10 16:56:58
5#
finstone-lush 发表于 2022-1-10 15:45
曲线方式,克隆了有个spread对象,然后减少样式、去除公式、去除Table组件、去掉单元格状态、条件格式等等 ...

解决了就好。另外,我们预计在v15之后会增加一些属性去优化导出json的大小以及优化导出的时间。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部