(在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);
}
}
答案 0 :(得分:4)
如果我使用object[,]
代替string[,]
,则适用于我。
答案 1 :(得分:0)
不要问我原因,但这(第二行)修正了它:
range.Formula = array;
range.Formula = range.Formula;
不幸的是,这需要两倍的时间。有没有更好的方法来避免这种惩罚?
上层解决方案由this发布。