代码之家  ›  专栏  ›  技术社区  ›  Ivan Ferić

Excel计算问题

  •  1
  • Ivan Ferić  · 技术社区  · 14 年前

    我有.xlsx文档,在其中我需要将一些值导入具有定义名称的单元格。这些单元格中很少有一部分被格式化为货币,我在这些单元格中导入的值属于 decimal 以这种方式导入的类型:

    cell.CellValue = new CellValue(value.ToString().Replace(",", "."));
    

    在同一个电子表格中,有几个单元格具有使用我导入的货币单元格的公式(例如,我正在导入单元格中的值) H27 具有定义的名称 Total 以及在现场 I27 有一个公式 =Total*0.23 )

    导入完成后,将成功导入值(并正确格式化为货币),但只有在单击每个公式单元格的公式检查标记或更改货币值(在这种情况下,将刷新包含此单元格的所有公式)后,公式单元格才会正确计算。

    导入完成后,对于具有公式自动计算值的单元格,我需要做什么?

    1 回复  |  直到 12 年前
        1
  •  1
  •   Ivan Ferić    14 年前

    我已经弄明白了。带有公式的单元格 <CellFormula> 它们内部的字段。这些领域有 bool 属性 CalculateCell 如果设置为true,则在打开文件后通知Excel计算公式。因为我不知道哪些公式单元格会受到这些单元格的影响,所以我对它们进行如下管理:

       foreach (var cell in sheetData.Descendants<CellFormula>())
          cell.CalculateCell = true;