我目前正在写有关动态类型的内容,并给出了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
,为什么?