【问题标题】:Get excel cell value without UI update in Excel Addin Nodejs Api在 Excel Addin Nodejs Api 中获取没有 UI 更新的 excel 单元格值
【发布时间】:2021-04-07 07:28:50
【问题描述】:

关键问题是,在我们的原生 Web 应用程序中,我们有一个 MVC 架构,其中计算引擎、控制器和 UI 是分开的,因此当我们重新计算时,我们不需要更新 UI(“昂贵”的操作)。

作为加载项,我们受 excel API 的约束,我们无法找到无需刷新网格即可运行重新计算的方法。

即使我们关闭 UI 更新,当我们需要获取单元格中的值时,也会强制更新 UI。

我们调用 api doNotUpdateScreenUntillNextSync(),但为了获得更新的值,我们必须调用 context.sync() 来更新屏幕。

知道如何在 Excel 中不更新 UI 的情况下获取单元格值。

【问题讨论】:

    标签: excel api office-js add-in excel-addins


    【解决方案1】:

    感谢您的提问。 目前我们仅支持通过 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 提交要求。谢谢!

    【讨论】:

    • 感谢您的回复。我按照您的指示缓冲范围并仅调用 context.sync() 一次。但是我缓冲了超过 24,000 个范围/单元格,当我最后调用 context.sync() 并且 excel 字面上挂起时,我只看到空白。即使是 Excel 单元格也不可见。是的,我确实调用了 app.suspendScreenUpdatingUntilNextSync()
    • 您能否与我分享您的要点以帮助重现和调查根本原因?谢谢!
    • 这是注释部分添加的 gist url 使用 excel 文件。 gist.github.com/pkpatels/8b3bca619b39c78cb0bc09e18c8512c1提前致谢
    • 感谢分享信息。我们会在有进展时查看并返回线程。
    • 我们已经讨论过这个问题并通过邮件回复。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多