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

问题描述 投票:4回答:2

(在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);
  }
}
.net excel
2个回答
4
投票

如果我使用object[,]而不是string[,],对我有用。


0
投票

不要问我为什么,但这(第二行)修正了它:

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

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

上面的解决方案是由this帖子通知的。

© www.soinside.com 2019 - 2024. All rights reserved.