2008-10-06 17 views
22

¿Cuáles son algunos recursos que me ayudarán a ponerme en funcionamiento rápidamente con la interoperación de Excel en C#?Recursos para aprender C# Excel interop

+1

Desde que se hizo la pregunta, las cosas se han vuelto más fáciles. Aquí hay un enlace más reciente: [Acceda a objetos de interoperabilidad de Office mediante las características de Visual C# 2010] (http://msdn.microsoft.com/en-us/library/dd264733.aspx) – Tod

Respuesta

1

MSDN es siempre vale la pena leer.

+0

, por favor, ayuda aquí si puede http: // stackoverflow.com/questions/9962157/safely-disposing-of-an-object-using-c-sharp/ –

2

Si está buscando aprender el Modelo de objetos de Excel, la ayuda de VBA es bastante buena.

Es posible utilizar "ensamblados de interoperabilidad principal" para trabajar con Excel

7

1) Lo primero primero; Descargue el Office Interop Assemblies desde el cual accederá a todos los objetos, propiedades y métodos en la interoperabilidad de Excel y las referencias apropiadas a su proyecto. ATENCIÓN: Cualquier máquina en la que pretenda ejecutar su código necesitará estos ensamblajes instalados también. Puede incluirlos en su paquete de instalación, o vienen con .NET Framework 1.1, por lo que si sus clientes lo tienen instalado, es probable que tengan los ensamblados de interoperabilidad.

2) Hay una gran cantidad de conocimiento en MSDN ... prácticamente todos los objetos y métodos que utilizará estarán bien documentados allí.

3) NOTA: Una cosa rara sobre el uso de Interop con C# es que tiene que proporcionar referencias "faltantes" para llamadas de interoperabilidad manualmente ... es decir. Al usar las funciones en VBA (si está acostumbrado a hacerlo) si el método requiere 3 argumentos y los dos últimos son opcionales, puede "dejarlos fuera" en VBA (es decir, MyMethod argumentOne) ... esto no trabajo desde .NET es lo único que me confundió por un tiempo cuando comencé a usar los ensamblajes de Interop; Tiene que crear manualmente un objeto faltante como este (ejemplo es de Word Interop, pero los mismos principios se aplican a Excel o cualquier otro paquete Interop de Office (y también debe colocar algunos argumentos y pasarlos por ref como se muestra a continuación):

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**); 

yo espero que ayude.

+0

ayuda aquí si puedes http://stackoverflow.com/questions/9962157/safely-disposing-of-an -object-using-c-sharp/ –

1

Usted puede aprender mucho mediante la grabación de una macro (en Excel) y el análisis de lo que ha sucedido.

Mi lenguaje de programación principal es C#, pero para mi comunicación a Excel (u otros objetos de Office/COM) siempre uso VB.Net. Esto facilita la transferencia de VBA (grabado) a .Net.

VB.Net hace que sea más fácil trabajar con encuadernación tardía. Primero uso el enlace anticipado (obtengo el Intellisense), luego cambio mis tipos a Object, por lo que ya no dependo de la versión específica de Office.

+0

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