找回密码
 立即注册

QQ登录

只需一步,快速开始

nutstore
金牌服务用户   /  发表于:2021-5-11 16:19  /   查看:4527  /  回复:10
本帖最后由 Clark.Pan 于 2021-10-11 17:44 编辑

标题写不下,我大概说下复现过程
首先有这样的一个表格,A1 ~ A4 是数字,B1 是动态数组公式
image.png600652465.png

然后克隆这个表格导出为 excel,伪代码差不多这样:
  1. const newWorkbook = new GCWorkbook(document.createElement('div'))
  2. newWorkbook.fromJSON(workbook.toJSON(), {
  3.   doNotRecalculateAfterLoad: true,
  4. })
  5. excelIo.save(JSON.stringify(newWorkbook.toJSON()), ...)
复制代码


但拿到的结果不符合预期,加载时用 `workbook.fromJSON(json, { doNotRecalculateAfterLoad: false })` 来加载会变成这样
image.png352246093.png

如果在克隆的时候就把 doNotRecalculateAfterLoad 改为 false 就不会有这个问题,但克隆可能会是一个频繁操作,所以我们希望那个时候能使用这个选项。

而且我认为 fromJSON 开了不重新计算,也不应该把动态数组的值硬写入到单元格中,这导致数据不正确,应该算一个 bug?


image.png128613890.png

评分

参与人数 1金币 +666 收起 理由
Derrick.Jiao + 666 感谢反馈

查看全部评分

10 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-11-3 11:32:00
推荐
nutstore 发表于 2021-11-3 11:00
我本地升级到 14.2.2 进行了测试,发现这个问题似乎已经修复了,是不是已经解决了?

是的,这边确认了一下这个问题已在14.2.2中修复,由于该版本是在近期发布,因此可能没来得及通知。如果在后续验证还存在类似的问题也欢迎和我们反馈哈~
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-5-11 18:01:43
推荐
本帖最后由 Lynn.Dou 于 2021-10-11 09:59 编辑

最新进展:
这个目前还在修复中,该问题属于底层计算引擎上的问题,不是一个轻易可以解决的问题,所以修复周期比较长


----------------------------------------------------------------------------------

问题已复现,这边会做进一步调研,此贴为您改为保留处理,有进展会在本帖更新。



回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-5-11 16:49:14
沙发
您好,这边根据您的描述未能复现您的问题,麻烦您在此demo中复现您的问题,这边为您调研一下。

SpreadDemo导出.zip

3.09 MB, 下载次数: 89

回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2021-5-11 17:50:25
板凳
DerrickJiao 发表于 2021-5-11 16:49
您好,这边根据您的描述未能复现您的问题,麻烦您在此demo中复现您的问题,这边为您调研一下。

确实,我测试了下,找到了少掉的关键步骤,是在展示 workbook 时添加一个隐藏的 Sheet,在导出时移除
我现在把这两件事情加上去之后就可以复现了
image.png409830932.png

我删掉了一些不必要的代码:
归档.zip (3.18 MB, 下载次数: 94)
回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2021-5-11 18:11:08
5#
本帖最后由 nutstore 于 2021-5-11 18:12 编辑
DerrickJiao 发表于 2021-5-11 18:01
问题已复现,这边会做进一步调研,此贴为您改为保留处理,有进展会在本帖更新。

好的,我们目前使用的是 v13,有些功能开发、修复等需要依赖 v14 的一些修复补丁或者新 feature,但需要先解决所有 v14 中遇到的 bug 才能升级上来,所以这个可以提高一些优先级吗?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-5-11 18:13:58
6#
nutstore 发表于 2021-5-11 18:11
好的,我们目前使用的是 v13,有些功能开发、修复等需要依赖 v14 的一些修复补丁或者新 feature,但需要 ...

这边已将您的情况进行备注了,有进展会第一时间在本帖更新(SJS-8696)
回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2021-9-23 20:47:47
7#
Derrick.Jiao 发表于 2021-5-11 18:13
这边已将您的情况进行备注了,有进展会第一时间在本帖更新(SJS-8696)

这个问题怎么样了,我最近又遇到了,现在是 14.1.0 是不是还没修,或者修了但没完全修好?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-9-24 09:34:56
8#
这个目前还在修复中,该问题属于底层计算引擎上的问题,不是一个轻易可以解决的问题,所以修复周期比较长
回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2021-11-3 10:35:14
9#
Clark.Pan 发表于 2021-9-24 09:34
这个目前还在修复中,该问题属于底层计算引擎上的问题,不是一个轻易可以解决的问题,所以修复周期比较长

这个问题的修复有什么计划吗,我们有个新功能需要依赖自定义公式的动态数组,但会触发这个问题
回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2021-11-3 11:00:18
10#
我本地升级到 14.2.2 进行了测试,发现这个问题似乎已经修复了,是不是已经解决了?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部