我目前正在写有关动态类型的文章,并举例说明Excel互操作。我以前几乎没有做过Office互操作,它显示了。C#4的MSDN Office Interop教程使用该_Worksheet
界面,但也有一个Worksheet
界面。我不知道有什么区别。
在我荒唐的简单演示应用程序(如下所示)中,任何一个都可以正常工作-但是,如果最佳实践决定了一个或另一个,我宁愿适当地使用它。
using System;
using System.Linq;
using Excel = Microsoft.Office.Interop.Excel;
class DynamicExcel
{
static void Main()
{
var app = new Excel.Application { Visible = true };
app.Workbooks.Add();
// Can use Excel._Worksheet instead here. Which is better?
Excel.Worksheet workSheet = app.ActiveSheet;
Excel.Range start = workSheet.Cells[1, 1];
Excel.Range end = workSheet.Cells[1, 20];
workSheet.get_Range(start, end).Value2 = Enumerable.Range(1, 20)
.ToArray();
}
}
我试图避免深入探讨COM或Office的互操作性,只是强调C#4的新功能-但我不想做任何真正非常愚蠢的事情。
(上面的代码中可能也有一些非常愚蠢的东西,在这种情况下,请告诉我。故意使用单独的开始/结束单元格而不是仅使用“ A1:T1”-更容易看到它确实是一个范围20个单元格。其他任何情况都可能是偶然的。)
那么,我应该使用_Worksheet
还是Worksheet
,为什么呢?