找回密码
 立即注册

QQ登录

只需一步,快速开始

jin.ye

金牌服务用户

93

主题

199

帖子

772

积分

金牌服务用户

积分
772
jin.ye
金牌服务用户   /  发表于:2024-3-15 17:34  /   查看:432  /  回复:2
本帖最后由 Lynn.Dou 于 2024-4-1 16:06 编辑

调研编号:DOCXLS-9939
Last Review: 2024-4-1

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




GC保存一下,这个外部链接就成了#VALUE了



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

2 个回复

倒序浏览
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");
复制代码

待版本正式发布后,会在贴中做进一步更新,届时可以升级验证看看。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部