使用数组(字符串)填充Excel范围的.Formula

时间:2012-03-11 22:44:28

标签: .net excel

(在C#中(尽管语言无关紧要))

range.Formula = array;

不会导致错误,但行为与

完全相同
range.Value2 = array;

:公式显示为值。只有在单元格 F2 输入后,才能正确评估其公式。

这就是我填充数组的方式:

// setup (parameters)
int rows = cols = 10;
int rowStep = 1000*1000;
var array = new string[rows, cols];
// Fill the array.
for (long iRow = 1; iRow == rows; iRow++)
{
  for (long iCol = 1; iCol == cols; iCol++)
  {
    // Put a count in the cell.  E.g. "=A1+1+1000000"
    array[iRow-1, iCol-1] = "=A1+" + iCol + "+" + (iRow * rowStep);
  }
}

2 个答案:

答案 0 :(得分:4)

如果我使用object[,]代替string[,],则适用于我。

答案 1 :(得分:0)

不要问我原因,但这(第二行)修正了它:

range.Formula = array;
range.Formula = range.Formula;

不幸的是,这需要两倍的时间。有没有更好的方法来避免这种惩罚?

上层解决方案由this发布。