0

我有一个自制的实用程序,可以将数据从 DataSet 传输到 Excel 电子表格。我想在其中一列中放置一个公式(例如“=+RC[-2]-RC[-1]”)。但是,Excel 将其视为字符串,而不是将其解释为公式。该实用程序创建对象数组并将其传输到 Excel 中的范围。这是问题吗?我过去曾将公式写入 Excel,但仅在写入单个单元格时。

for (int r = 0; r < nr; r++)
   {
      r = dt.Rows[r];
      nOut++;

      aRng = new object[nc];
      for (int c = 0; c < nc; c++) else aRng[c] = dr[c];

      oRng = oSheet.get_Range(CellAddress(nOut, 1), CellAddress(nOut, nc));
      oRng.Value2 = aRng;
   }
4

2 回答 2

2

您必须使用 .Formula 属性才能强制 excel 将其视为公式。

((Range)worksheet.Cells[row, col]).Formula = myFormula
于 2012-08-03T20:57:11.743 回答
1

您必须使用对象的.FormulaorFormulaR1C1属性Range

string s = "=+RC[-2]-RC[-1]";
...
oRng.FormulaR1C1 = s;
于 2012-08-03T20:54:56.050 回答