如何重新计算单元格的公式?

2024-02-11

我的代码设置了很多单元格值。最后,在生成 Excel 文件之前需要评估每个单元格中的公式。对于大多数床单来说,一切进展顺利。

但是,有一个单元格抛出异常。该单元格正在计算其后面的一系列单元格以及其他工作表中的参考单元格的平均值。我猜当第一个单元格尝试计算平均值时,后面的单元格尚未评估。

这是该单元格上的公式

=IFERROR(AVERAGEIF(D2:AU2,"<>-"),"-")

我怀疑这是因为单元格在其他工作表中引用了该范围的单元格。D2,例如,有以下公式=Common!E2.

所以我决定做的是:

  1. 将执行公式的调用包装在try-catch block.
  2. 如果执行单元格引发异常,我会保存该单元格的坐标。
  3. 然后我执行抛出异常的单元格

我注意到同一个单元格不断抛出错误。为了能够退出循环,我数了 3 次迭代。

生成 Excel 时,该单元格具有值-。但是,当我选择单元格然后按enter,它执行并显示正确的值。

我推迟执行该单元格的原因是,在第一次迭代之后,引用其他工作表的单元格已经被评估。但是,它仍然无法工作,因为它不断抛出异常。

谢谢你的帮助。

Update

我正在使用 npoi 和 c#。


In NPOI

if(wb is XSSFWorkbook) {
    XSSFFormulaEvaluator.EvaluateAllFormulaCells(wb);
} else {
    HSSFFormulaEvaluator.EvaluateAllFormulaCells(wb);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何重新计算单元格的公式? 的相关文章

随机推荐

  • 具有多列的 WinForms 组合框(C#)?

    我当前正在使用以下代码来填充组合框 combobox DataSource datatable combobox DisplayMember Auftragsnummer combobox ValueMember ID 有没有办法显示多列
  • 恢复远程分支上的提交

    我曾在本地分支工作过 添加了许多提交 然后我把它推到了remote staging分支 现在我必须撤消已经推送到的最后一次提交remote staging这是我的本地分支的合并remote staging 查看其他答案时我了解到的是 我必须
  • VBA 中的舍入日期和时间

    如何使用 VBA 在 Excel 中四舍五入日期和时间 例如 用户从复制到单元格 A6 的日历中选择值 08 25 2016 09 02 00 我以 15 分钟为间隔提取数据 所以我希望它是 A6 08 25 2016 09 00 00 因
  • Azure DevOps 中的构建管道和发布管道有什么区别?

    我已经设置了几个多阶段构建管道Azure DevOps通过使用 yaml文件 我读过有关可用的 发布管道 的信息 我想知道它们有什么好处 他们似乎也在做同样的事情 甚至不提供 YAML 的支持 那么这里的主要区别是什么 使用发布管道而不是通
  • 记录 C 中“.h”文件使用模式的良好参考资料是什么? [复制]

    这个问题在这里已经有答案了 C 接口和实现 展示了一些有趣的数据结构使用模式 但我确信还有其他模式 http www amazon com Interfaces Implementations Techniques Addison Wesl
  • 是否可以将 ID 集合作为 ADO.NET SQL 参数发送?

    例如 我可以写这样的代码吗 public void InactiveCustomers IEnumerable
  • 如何在 Mac OS 中按“alt+a”/“option+a”键绑定(“⌥+a”)时禁用生成特殊字符? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我试图禁用我的 Mac 中的一种行为 当我在任何文本编辑器中输入组合键时alt option 任何字母 输出将是特殊字符 例如 组合alt
  • 如何将 Ruby 函数放入 SQLite3 查询中?

    我有一个函数需要放入 SQLite3 查询中 我有以下方法 def levenshtein a b case when a empty then b length when b empty then a length else a 0 b
  • 使用 Webpack 2 和 extract-text-webpack-plugin

    我将 extract text webpack plugin 2 0 0 rc 3 与 Webpack 2 2 1 一起使用 并且在运行构建时收到此错误 node modules extract text webpack plugin in
  • 谁拥有 .NET 中的包装流(例如 TextWriter)?

    我最近遇到错误 ObjectDisposeException 无法访问关闭的流 ObjectDisposedException Cannot access a closed Stream System IO MemoryStream Wri
  • python selenium webdriver safari 驱动程序

    快速提问 我一直在构建一个 python selenium 框架来测试我们的网站 我已经成功实现了 Firefox Chrome 和 IE 浏览器测试 但一直在寻找Safari驱动程序 我知道在官方文档中它简要描述了它的不兼容性并且不支持
  • Psycopg2 中的“类型错误:参数 2 必须是连接、游标或无”

    我设置了一个 Heroku 管道 并且刚刚为其启用了评论应用程序 它使用与我的登台和生产应用程序相同的代码库 相同的设置文件和所有内容 当审核应用程序启动时 它可以连接到创建的数据库并运行迁移 当我尝试连接到浏览器中的应用程序时 我得到 T
  • 服务器客户端通信Python

    Server import socket import sys s socket socket socket AF INET socket SOCK STREAM host VAC01 VACLab com port int 2000 s
  • request-promise-native 的替代方案[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我一直在寻找在 Node js 中实现基本 HTTP 方法 例如 GET POST 的现代模块 我想最受
  • 片段中的 EditText 和软键盘问题

    我目前正在构建一个 Android 应用程序 使用户能够拍照并写入其详细信息 该应用程序使用 Sherlock 库 我实现了一个 SherlockFragment 来显示图像 以及一些 EditText 和 TextView 来使用户能够键
  • 使用正则表达式匹配数字 - 仅数字和逗号

    我无法弄清楚如何为示例值构建正则表达式 123 456 789 12 34 1234 8 你可以帮帮我吗 什么是数字 我有一个简单的问题your 简单 问题 一个数字 到底是什么意思 Is 0一个号码 你对这个怎么看 1 Is or 一个号
  • 如何通过 ID 从另一个网站获取元素 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想通过其 ID 从另一个站点获取 div 的内容 比方说 我有一个网站 我想从这个 URL 获取 id 为 mainbar 的 di
  • 如何用C语言生成GUID?

    我想生成插入 SQLite 数据库的 guid 即数据库本身不支持 但是 我想控制某些属性 用于生成不断增加的指导值的有序性 计算机独立性 数据库是公共的 可能 可能不希望 guid 允许某人将数据追溯到特定机器 足够 的随机性 guid
  • S3方法:扩展ggplot2`+.gg`函数

    我正在尝试延长ggplot2一个新的类 我们称之为foo对于这个例子 目标是写一个 foo将用来代替的方法 gg 但是我遇到了 方法不兼容 的问题 设置 目前我可以写ggplot add foo layer这将使plot进入我的foocla
  • 如何重新计算单元格的公式?

    我的代码设置了很多单元格值 最后 在生成 Excel 文件之前需要评估每个单元格中的公式 对于大多数床单来说 一切进展顺利 但是 有一个单元格抛出异常 该单元格正在计算其后面的一系列单元格以及其他工作表中的参考单元格的平均值 我猜当第一个单