C#Excel VSTO:get_Range()和Range()之间的区别

时间:2015-02-04 23:07:01

标签: c# excel vsto

我试图理解Worksheet.Range()和Worksheet.get_Range()之间的区别。请使用以下两行代码:

Globals.ThisWorkbook.Worksheets["Sheet1"].Range("A4").Value2 = "test";

这将在标有“Sheet1”的工作表上的单元格A4上打印“test”。同样,

Globals.ThisWorkbook.Worksheets["Sheet1"].get_Range("A4").Value2 = "test";

应该产生相同的结果,而不是:

'System.__ComObject' does not contain a definition for 'get_Range

有人可以解释何时以及如何使用get_Range()?

有任何性能优势吗?

1 个答案:

答案 0 :(得分:0)

在C#代码中,属性X会生成名为get_Xset_X的方法。因此,get_Range("A4")应改为Range["A4"]。有关示例,请参阅this MSDN document中第一个示例中的代码。

我怀疑你会看到任何性能差异,但在大多数性能问题中,答案是"尝试并比较时间"。