【问题标题】:Excel calculation problemsExcel计算问题
【发布时间】:2011-04-14 05:30:42
【问题描述】:

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

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

在同一个电子表格中,有几个单元格有一个公式,其中使用了我导入的货币单元格(例如,我在单元格 H27 中导入值,定义名称为 Total,并在字段 @987654325 @有一个公式=Total*0.23)。

导入完成后,值已成功导入(并正确格式化为货币),但直到我单击每个公式单元格的公式复选标记或更改货币值(在这种情况下,包含此单元格的所有公式都会刷新)。

导入完成后带公式的单元格如何自动计算值?

【问题讨论】:

    标签: c# .net excel-2007 openxml


    【解决方案1】:

    我想通了。带有公式的单元格内部有<CellFormula> 字段。这些字段具有bool 属性CalculateCell,如果设置为true,则告诉Excel 在打开文件后计算公式。由于我事先不知道哪些公式单元格受到单元格的影响,因此我将所有这些单元格都这样管理:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-07
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多