2010-09-19 88 views
1

我有.xlsx文件,其中我需要将一些值导入到已定义名称的单元格中。少数的那些细胞被格式化为货币,并且我在这些细胞正在导入值是decimal类型的我以这种方式导入的:存在具有下式的少数细胞Excel计算问题

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

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

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

我必须为具有公式的单元格在导入完成后自动计算值做什么?

回答

1

我已经想通了。公式中的单元格内有<CellFormula>字段。这些字段有bool属性CalculateCell,如果设置为true,则告知Excel在打开文件后计算公式。由于我不知道哪些配方细胞受到细胞的影响,因此我管理它们全部如下:

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