Pregunta

Si creo un programa, que en una pequeña área fuera del camino, usa la automatización de Excel:

la aplicación fallará cuando se necesite Excel

¿O no se iniciará la aplicación?


Actualizar

Permítame hacer la misma pregunta, pero de una manera más amplia:

¿La aplicación será utilizable por

  •   

    El 99.9% de los usuarios que nunca usan la función que requiere Excel

  • 0% de los usuarios, ya que Excel no está instalado.

Permítame hacer la misma pregunta de otra manera:

¿Una aplicación no podrá inicializar que haga referencia a los dll de interoperabilidad COM?


Permítame hacer la misma pregunta de otra manera:

¿Una aplicación que no usa Excel pero que hace referencia a la DLL de interoperabilidad COM no se inicia?


Permítame hacer la misma pregunta de otra manera:

¿Se podrá utilizar una aplicación que no use Excel si Excel no está instalado, si esa aplicación depende de las dlls de Interoperabilidad primaria de Office?


Permítame hacer la misma pregunta de otra manera:

Si mi aplicación no usa Excel, ¿el usuario debe tener instalado Excel?

¿Fue útil?

Solución

El código se ejecutará correctamente hasta que intente hacer una llamada a las bibliotecas de automatización, en ese momento generará una excepción.

Otros consejos

Tengo una aplicación que utiliza la automatización de Excel y puedo decir definitivamente que fallará en tiempo de ejecución, no en tiempo de carga. De hecho, verificamos si está instalado y solo mostramos el " Mostrar datos en Excel " botón si lo encontramos (pero los PIA se implementan en todas las instalaciones).

Si automatizas Office ... ¡tienes que tener Office!

Habiendo dicho eso, la respuesta cambia si giras la pregunta en: ¿Puedo crear una hoja de cálculo de Excel sin tener Excel en el cliente?

Hay muchos controles de terceros para hacer esto; puede escribir directamente en la especificación XML de MS SpreadML ( http: //msdn.microsoft.com/en-us/library/aa140066(office.10).aspx ; o use bibliotecas de terceros que lo hagan (como http://www.carlosag.net/Tools/ExcelXmlWriter/ ).

Creo que fallará en el tiempo de ejecución, porque los ensamblajes de interoperabilidad deberían poder cargarse sin los componentes COM disponibles en el sistema de los clientes.

ACTUALIZACIÓN: el tiempo de ejecución debe significar cuando lo necesite

Al usar COM en Win32, fallará cuando sea necesario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top