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
问题已解决,谢谢

不用客气,有新问题欢迎开新帖交流~
页: 1 [2] 3
查看完整版本: spreadJs导入excel数据, 浏览器特别卡(SJS-12222)