找回密码
 立即注册

QQ登录

只需一步,快速开始

jin.ye

金牌服务用户

97

主题

207

帖子

816

积分

金牌服务用户

积分
816
jin.ye
金牌服务用户   /  发表于:2024-3-15 17:34  /   查看:1777  /  回复:3
本帖最后由 Richard.Huang 于 2024-5-21 11:22 编辑

调研编号:DOCXLS-9939
Last Review: 2024-5-21
该问题需要升级到V7.1.0之后,搭配帖子中给出的解决方案来解决该问题

经深入调研,该问题修复起来具有一定的风险,可能会对其他功能产生重大影响,所以经综合评估,该问题暂不进行修复。
不过,在下个版本V7.1中,提供了workaround方案,具体参考贴中回复。

d29b266a271452bb7e247baf815f07c.png504607238.png

6f4bebfbb6e9a30c6206bd85d3863f0.png991570739.png
GC保存一下,这个外部链接就成了#VALUE了

5e3b55bd979579f37d205c6ee1c7382.png283422240.png

3 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-3-15 17:37:36
沙发
本帖最后由 Lynn.Dou 于 2024-3-19 14:34 编辑

您好,
该问题初步认定为bug,具体修复版本还在确认中,待有进展会贴中通知。

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-1 16:06:16
板凳
更新进展:
经深入调研,该问题修复起来具有一定的风险,可能会对其他功能产生重大影响,所以经综合评估,该问题暂不进行修复。
不过,在下个版本V7.1中,提供了workaround方案:
可以使用CalculationMode.Manual防止MSExcel重新计算。示例代码如下:
  1. Workbook workbook = new Workbook();
  2. workbook.open(path + "1.xlsx");
  3. Worksheet worksheet = workbook.getActiveSheet();
  4. System.out.println(worksheet.getRange("B2").getFormula());
  5. System.out.println(worksheet.getRange("B2").getValue());
  6. workbook.calculate();
  7. System.out.println(worksheet.getRange("B2").getValue());
  8. workbook.getOptions().getFormulas().setCalculationMode(CalculationMode.Manual);
  9. workbook.save(path + "testDoNotRecalculateAfterOpened.xlsx");
复制代码

待版本正式发布后,会在贴中做进一步更新,届时可以升级验证看看。
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-5-21 11:21:43
地板
最新调研进展:目前GcExcelV7.1.0已经发布,您可以升级到该版本后按照楼上同学的回复进行问题的处理。本贴问题解决了这里就先结帖了,后续有其他相关问题,欢迎发新帖提问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部