2010-06-07 19 views
6

Tengo una aplicación web que se implementará en Windows Azure y estoy buscando alternativas para generar hojas de cálculo de Excel.¿VSTO se ejecuta en Windows Azure?

¿Puedo usar VSTO para generar programáticamente una hoja de cálculo de Excel en un rol web que se ejecuta en Windows Azure? ... En caso afirmativo, ¿cómo debo implementar la aplicación en Windows Azure? ¿Qué asambleas debería incluir?

+0

+1. Gran pregunta –

+2

¿No es lo mismo que ejecutar Office en un servidor, que no es recomendable? – Mathias

Respuesta

2

Probé esto y aparentemente no funcionará, VSTO requiere la instalación de Office.

4

Joni y Joe tienen razón. VSTO no se ejecutará en Azure.

Creo que estás buscando Open XML SDK. Eso le permite crear Excel u otros archivos de Office desde .NET sin usar la automatización de Office.

Edit: He aquí una opción que he considerado para aquellas ocasiones en que Open XML SDK simplemente no tiene la funcionalidad que puedo obtener al acceder directamente al modelo de objetos de una aplicación de Office. Configure una máquina fuera de Azure que funcione igual que una función de trabajador de Azure mediante el procesamiento de mensajes desde una cola de Azure. Dado que la aplicación en esa máquina podría configurarse para ejecutar tareas secuencialmente, debería poder salirse con la suya con cosas que no serían recomendables si estuviera tratando de ejecutar una aplicación de Office desde una función web. Esta máquina podría estar en su centro de datos, o podría usar una máquina virtual Azure para que pueda instalar Office. Si esa máquina virtual estaba creando y/o leyendo documentos de Excel, simplemente use el almacenamiento de Azure Blob para almacenar los documentos.

Si la máquina con Office está fuera de Azure, incurrirá en costos adicionales de ancho de banda para todos los datos que entran y salen de Azure.

2

He tenido éxito con la generación de hojas de cálculo de Excel en Azure usando el proyecto EPPlus open source. Se basa en OpenXML SDK, pero es mucho más simple de usar.

He estado implementando el código en Rol de trabajador en lugar de Papel web (según la arquitectura Lokad.CQRS for Azure) con el fin de generar informes de antemano, para que la aplicación sea más escalable. Y el único ensamblado requerido fue Epplus.dll.

Cuestiones relacionadas