2008-10-06 11 views
22

Was sind einige Ressourcen, die mir helfen werden, schnell mit dem Excel-Interop in C# zu starten?Ressourcen zum Lernen C# Excel interop

+1

Seit die Frage gestellt wurde, sind die Dinge einfacher geworden. Hier ist ein neuerer Link: [Access Office Interop-Objekte mit Visual C# 2010 Funktionen] (http://msdn.microsoft.com/en-us/library/dd264733.aspx) – Tod

Antwort

1

MSDN ist immer lesenswert.

+0

Bitte helfen Sie hier, wenn Sie http: // stackoverflow.com/questions/9962157/safely-disposing-of-an-object-using-c-sharp/ –

2

Wenn Sie Excel-Objektmodell lernen möchten, ist die VBA-Hilfe ziemlich gut.

Sie könnten "Primary Interop Assemblies" verwenden, um mit Excel zu arbeiten

7

1) Das erste, was zuerst; Laden Sie das Office Interop Assemblies herunter, von dem Sie auf alle Objekte, Eigenschaften und Methoden in Excel-Interop und die entsprechenden Verweise auf Ihr Projekt zugreifen. ACHTUNG: Auf jedem Computer, auf dem Sie Ihren Code ausführen möchten, müssen diese Baugruppen ebenfalls installiert sein. Sie können sie entweder in Ihr Installationspaket einschließen oder sie werden mit .NET Framework 1.1 geliefert. Wenn Ihre Clients das installiert haben, verfügen sie wahrscheinlich über die Interop-Assemblys.

2) Es gibt eine Fülle von Wissen über MSDN ... so gut wie alle der Objekte und Methoden, die Sie verwenden werden, wird dort gut dokumentiert sein.

3) HINWEIS: Eine komische kleine Sache über die Verwendung von Interop mit C# ist, dass Sie "fehlende" Referenzen für Interop-Anrufe manuell liefern müssen ... d. Wenn Sie die Funktionen in VBA verwenden (wenn Sie das gewohnt sind), wenn die Methode 3 Argumente aufruft und die letzten beiden optional sind, können Sie sie in VBA "auslassen" (zB MyMethod argumentOne) ... dies tut dies nicht Arbeit von .NET es ist die eine Sache, die mich für eine Weile verwirrt, als ich begann, die Interop-Baugruppen zu verwenden; Sie müssen ein fehlendes Objekt wie dieses manuell erstellen (Beispiel stammt von Word Interop, aber dieselben Principals gelten für Excel oder jedes andere Office-Interop-Paket (und Sie müssen auch einige Argumente eingeben und sie wie folgt mit ref übergeben):

object missing = System.Reflection.Missing.Value; 
string somestring = "string"; 
object refstring = (object)s; 
wrd.Selection.Hyperlinks.Add(wrd.Selection.Range, **ref refstring, ref missing, ref missing, ref missing, ref missing**); 

ich hoffe, das hilft.

+0

bitte helfen Sie hier, wenn Sie http://stackoverflow.com/questions/9962157/safely-disposing-of-an -object-using-c-sharp/ –

1

Sie eine Menge durch ein Makro-Aufnahme (in Excel) lernen und zu analysieren, was passiert ist.

Meine primäre Programmiersprache ist C#, aber für meine Kommunikation mit Excel (oder anderen Office/COM-Objekten) verwende ich immer VB.Net. Dies erleichtert den Transfer von VBA (aufgezeichnet) zu .Net.

VB.Net erleichtert die Arbeit mit der späten Bindung. Zuerst verwende ich frühe Bindung (holt mir die Intellisense), danach ändere ich meine Typen zu Object, so dass ich nicht mehr von der spezifischen Version von Office abhängig bin.

+0

bitte helfen http://stackoverflow.com/questions/9962157/safely-disposing-of-an-object-using-c-sharp/ –