Derrick.Jiao
发表于 2022-3-23 15:27:03
你好,该问题已在15.0.5中修复,目前已发布,请通过npm进行更新。
瑞捷APP
发表于 2022-3-24 10:23:28
Derrick.Jiao 发表于 2022-3-23 15:27
你好,该问题已在15.0.5中修复,目前已发布,请通过npm进行更新。
升级之后, 经过本地测试, 本地导入测试文件还是会卡死. 问题未得到解决
Derrick.Jiao
发表于 2022-3-24 10:53:24
本帖最后由 Derrick.Jiao 于 2022-3-25 10:54 编辑
瑞捷APP 发表于 2022-3-24 10:23
升级之后, 经过本地测试, 本地导入测试文件还是会卡死. 问题未得到解决
(SJS-12222)在15.0.5中修复的是由json导入卡顿的问题,因为原始的excel是由wps制作,导致其在json中存储的范围是不正确的。
而wps产生的excel文件,个问题是需要重新进行调研处理,内部编号为(SJS-12379)。这边测试已复现,另外也烦请提供电话中描述的另一个excel文件,这边一并提供调研(SJS-12379)
瑞捷APP
发表于 2022-3-24 14:16:51
Derrick.Jiao 发表于 2022-3-24 10:53
这边测试已复现,还需要做进一步调研,另外也烦请提供电话中描述的另一个excel文件,这边一并提供调研(S ...
测试文件还是原来那份, 没有另一份excel文件, 只需要用原来文件测试即可
Derrick.Jiao
发表于 2022-3-24 14:40:19
瑞捷APP 发表于 2022-3-24 14:16
测试文件还是原来那份, 没有另一份excel文件, 只需要用原来文件测试即可
好的,这边已提交给我们的同事做进一步调研,并且根据情况给与一定的优先级去处理,有进展会在本帖更新。
Derrick.Jiao
发表于 2022-3-25 11:49:10
目前该问题的原因已找到,可以下看下图,这是提供的原始表单解析的xml,可以看到里面的dimension范围到了1048576行,并且涉及到了合并单元格的绘制。因此,在导入之后,我们内部也尝试去根据这个范围去绘制,然后由于数据太大导致卡住。
而通过excel打开保存之后,dimension范围到仅在141行,这是因为excel会将这个实际的行数自动进行纠正。可以发现,这个时候导入SpreadJS是正常的了,因为SpreadJS只需绘制的实际区域并没有像上面那么大。
上面第一个图的行为,有可能是用户是无意的,而wps没有自动纠正,excel能够自动纠正区域。这个可以说属于我们产品兼容的问题。这个问题我们会去修,但是修复风险较大,暂时没有具体的修复日期,里面涉及了span cache机制的重构。
因此这边给咱提供了一个workaround,思路就是在导入前拦截json调整表单的rowCount,具体可以参考附件的demo。
瑞捷APP
发表于 2022-3-31 12:03:10
Derrick.Jiao 发表于 2022-3-25 11:49
目前该问题的原因已找到,可以下看下图,这是提供的原始表单解析的xml,可以看到里面的dimension范围到了10 ...
你好, 这个临时方案不能解决我现在的使用场景.经测试发现,通过designer的文件导入按钮导入的excel文件是可以的, 但是通过excelIo和fromJSON API进行导入的excel还是会卡顿(目前这种场景是比较接近实际的场景的).demo test.html 已上传
Derrick.Jiao
发表于 2022-3-31 14:53:01
瑞捷APP 发表于 2022-3-31 12:03
你好, 这个临时方案不能解决我现在的使用场景.经测试发现,通过designer的文件导入按钮导入的excel文件 ...
上面demo只是根据原贴最开始描述的desiger场景。如果需要用api,请在open方法中处理一下json,请参考附件的dmeo。
瑞捷APP
发表于 2022-3-31 15:49:04
Derrick.Jiao 发表于 2022-3-31 14:53
上面demo只是根据原贴最开始描述的desiger场景。如果需要用api,请在open方法中处理一下json,请参考附件 ...
问题已解决,谢谢
Derrick.Jiao
发表于 2022-3-31 16:11:11
瑞捷APP 发表于 2022-3-31 15:49
问题已解决,谢谢
不用客气,有新问题欢迎开新帖交流~