【发布时间】:2019-03-04 20:02:21
【问题描述】:
我正在为 excel 编写一个 c# Add in,它从 excel 工作表的列中获取值并执行一些操作。这是我写的部分代码:
Excel.Range aqRange = currentSheet.Range["C3:C" + cRowCount];
Excel.Range vcRange = currentSheet.Range["D3:D" + cRowCount];
Excel.Range k0R = currentSheet.Range["F2"];
double[] sgVett = new double[cRowCount];
foreach (Range aq in aqRange)
{
if (i == 0) sgVett[i] = k0R.Value + aq.Value;
else sgVett[i] = sgVett[i - 1] + aq.Value;
i++;
}
i = 0;
foreach (Range vc in vcRange)
{
if (i == 0) sgVett[i] -= vc.Value;
else sgVett[i] -= vc.Value;
i++;
}
我想知道是否有办法做这样的事情:
for(int j = 0; j<cRowCount; j++) {
if (i == 0) sgVett[i] = k0R.Value + aqRange[i].Value;
else sgVett[i] = sgVett[i - 1] + aqRange[i].Value;
}
我知道我不能使用Excel.Range 作为向量,但是有没有办法使用索引来滚动aqRange 和vcRange,或者,至少,如果可以只使用一个@ 987654326@ 或一个 foreach 而不是两个(就像我做的那样)。
【问题讨论】: