Excel interop:只使用一个excel interop函数调用更新非连续单元格

问题描述:

我想使用c#excel interop com object快速更新多个单元格。我已经详细阅读了关于如何为连续单元格执行此操作,但我试图更新的单元格是非连续的。Excel interop:只使用一个excel interop函数调用更新非连续单元格

假设我要更新单元A1,B2,C3具有值1,2,3分别

我写的代码是:

Excel.Range rng = xlWorkSheet.get_Range("B2,C3") 
var data = new string[3]; 
data[0] = "1"; 
data[1] = "2"; 
data[2] = "3"; 
rng.Value2 = data; 

结果是细胞A1,B2和C3用相同的值1更新,而不是预期的1,2和3。

使用visual studio watch函数进行仔细检查时,它显示为rng.Value2是一个奇异值而不是数组。

所以我的问题是如何使用一个excel互操作函数调用更新非连续单元格的电子表格?

在VBA中很容易。也用C++自动化测试:

Sub Test() 
Dim newRng As Range 
Set newRng = Application.Union(Range("A1:b18"), Range("e4:e5")) 
newRng.Value = 10 
End Sub 
+0

我可以为newRng中的每个单元赋值不同的值吗? – user3651514