Ich schreibe gerade über dynamische Typisierung und gebe ein Beispiel für Excel-Interop. Ich habe mich bisher kaum mit Office-Interop beschäftigt, und das merkt man. Die MSDN Office Interop-Tutorial für C# 4 verwendet die _Worksheet
Schnittstelle, aber es gibt auch eine Worksheet
Schnittstelle. Ich habe keine Ahnung, worin der Unterschied besteht.
In meiner absurd einfachen Demo-Anwendung (siehe unten) funktioniert beides gut - aber wenn die beste Praxis das eine oder das andere vorschreibt, würde ich es lieber entsprechend 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 es zu vermeiden, eine vollständige Vertiefung in COM oder Office-Interoperabilität zu machen und nur die neuen Funktionen von C# 4 hervorzuheben - aber ich möchte nichts wirklich Dummes machen.
(Es kann sein, dass auch im obigen Code etwas sehr, sehr dumm ist; in diesem Fall lassen Sie es mich bitte wissen. Die Verwendung von separaten Start-/Endzellen anstelle von "A1:T1" ist beabsichtigt - es ist leichter zu erkennen, dass es sich wirklich um einen Bereich von 20 Zellen handelt. Alles andere ist wahrscheinlich ein Versehen).
Sollte ich also Folgendes verwenden _Worksheet
o Worksheet
und warum?