问题描述
关键问题是,在我们的原生 Web 应用程序中,我们有一个 MVC 架构,其中计算引擎、控制器和 UI 是分开的,因此当我们重新计算时,我们不需要更新 UI(“昂贵的”操作)。
作为插件,我们受 excel API 的约束,我们无法找到一种无需刷新网格即可运行重新计算的方法。
即使我们关闭 UI 更新,当我们需要获取单元格中的值时,UI 也会被强制更新。
我们调用 api doNotUpdateScreenUntillNextSync()
但为了获得更新的值,我们必须调用将更新屏幕的 context.sync()
。
知道如何在 excel 中不更新 UI 的情况下获取单元格值。
解决方法
感谢您的提问。 目前我们只支持通过 Application.suspendScreenUpdatingUntilNextSync() 暂停 context.sync 级别的 UI 更新。详情可参考https://docs.microsoft.com/en-us/javascript/api/excel/excel.application?view=excel-js-preview#suspendApiCalculationUntilNextSync__
根据您的描述,也许您可以在单元格中获取原始值并计算它,然后将该值存储在其他地方。然后更新它,直到您想要刷新 UI。
如果您确实需要 Excel 会话级 UI 暂停 API,请在 Github 上提交要求。谢谢!