Sí - se puede utilizar Excel.Interop - referencia a él desde su programa en C# mediante la adición de una referencia a la Microsoft.Office.Interop.Excel (versión 13 creo que para Excel 2010) en la pestaña .Net del cuadro de diálogo Agregar referencia de VS.
FYI: No es una buena idea ejecutar los demonios en un servidor utiliza la interoperabilidad: http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2, sin embargo, si se trata de un programa en ejecución a corto, a cargo de un usuario y supervisar él, debería estar bien ..
Si desea que sus clientes ejecutar el programa que se necesita para instalar el ensamblados de interoperabilidad primarios (PIA) si ya didnt al instalar la oficina, que se puede conseguir aquí:
XP: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=C41BD61E-3060-4F71-A6B4-01FEBA508E52
2003: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD
2007: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=59DAEBAA-BED4-4282-A28C-B864D8BFA513
2010: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=938fe8ad-583b-4bd7-a345-23250dc15855
He estado usando Office11 en mi máquina de Vista x64, así que no creo x64 planteará ningún problema.
¡Ten en cuenta que la documentación es terrible! hay alrededor de 10 versiones diferentes de la ayuda, documentación disponible. Recomiendo:
familiarizarse con el:
- Aplicación
- Cuaderno
- Hoja de trabajo
- Rango
objetos. Puede leer los datos en una lista < > > > (en cuyo caso todas sus celdas deberían formatearse como texto) o algo en la memoria, entonces ya no tiene que lidiar con Interop y es rápido. Desde C#, siempre use un método (algunos documentos le dicen erróneamente que no puede usar sus métodos para uso interno) tales como: Range.get_Values ("A1") a diferencia de: Rango.Células;
Un buen lugar para comenzar es aquí: http://dotnetperls.com/excel-interop
documentación oficial está aquí: http://msdn.microsoft.com/en-us/library/bb726434(v=office.12).aspx, pero contiene una carga de galleta comercialización hasta llegar a las piezas de la biblioteca de interoperabilidad de los cuales son de una década de antigüedad.
Y tenga cuidado: los índices de Excel están basados en 1, es decir, ¡el primer elemento en la matriz 2D devuelta comienza en my2DArray [1,1]!
¿No puedes importar la hoja de cálculo de Excel en una base de datos "real"? Como está escribiendo un servicio web, probablemente tenga problemas con la simultaneidad, si mantiene su fuente de datos como un archivo de Excel ... Luego, puede programar un trabajo para actualizar la tabla del servidor sql de vez en cuando. – rsenna
No. Es un requisito comercial que la información se almacene en el archivo de Excel. No es mi elección ... – Darbio
No sabía que era posible excluir la instalación de WOW64; según mi experiencia, cualquier programa de 32 bits se ejecuta en una máquina de 64 bits, es probable que WOW64 esté allí, pero ni siquiera lo notas. – markmnl