Ich schreibe derzeit über dynamisches Tippen und gebe ein Beispiel für Excel Interop. Ich habe bisher kaum ein Office-Interop durchgeführt, und das zeigt es. Das MSDN Office Interop-Lernprogramm für C # 4 verwendet die _Worksheet
Schnittstelle, es gibt jedoch auch eine Worksheet
Schnittstelle. Ich habe keine Ahnung, was der Unterschied ist.
In meiner absurd einfachen Demo-App (siehe unten) funktioniert beides einwandfrei - aber wenn die beste Vorgehensweise das eine oder andere vorschreibt, würde ich es lieber angemessen verwenden.
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();
}
}
Ich versuche zu vermeiden, mich eingehend mit der Interoperabilität von COM oder Office zu befassen, indem ich nur die neuen Funktionen von C # 4 hervorhole - aber ich möchte nichts wirklich, wirklich Dummes tun.
(Der obige Code enthält möglicherweise auch etwas wirklich, wirklich Dummes. In diesem Fall lassen Sie es mich bitte wissen. Die Verwendung separater Start- / Endzellen anstelle von "A1: T1" ist absichtlich - es ist einfacher zu erkennen, dass es sich wirklich um einen Bereich handelt von 20 Zellen. Alles andere ist wahrscheinlich zufällig.)
Also, sollte ich verwenden _Worksheet
oder Worksheet
und warum?