【问题标题】:Excel interop: updating non-contiguous cells using only one excel interop function callExcel 互操作:仅使用一个 Excel 互操作函数调用更新非连续单元格
【发布时间】:2017-08-17 21:21:58
【问题描述】:

我想使用 c# excel interop com 对象快速更新多个单元格。我已经详细阅读了有关如何为连续单元格执行此操作的信息,但我尝试更新的单元格是不连续的。

假设我必须分别用值 1、2、3 更新单元格 A1、B2、C3

我写的代码是:

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 互操作函数调用来更新非连续单元格的电子表格?

【问题讨论】:

    标签: c# excel interop


    【解决方案1】:

    在 VBA 中这真的很容易。还使用 C++ 自动化进行了测试:

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

    【讨论】:

    • 我可以为newRng中的每个单元格分配不同的值吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多