Comparando VSTO con Aspose.Cells for .NET

Descripción general

Microsoft Excel es utilizado ampliamente por empresas e individuos en todo tipo de industrias. La aplicación de hoja de cálculo es casi omnipresente y permite a los usuarios no solo almacenar y organizar datos, sino también crear modelos complejos con fórmulas y presentar datos claramente con formato y gráficos avanzados.

VSTO permite que los documentos de Office Microsoft ejecuten código envuelto en un ensamblado .NET. Se utiliza para desarrollar aplicaciones que funcionan con Microsoft archivos y funciones de Office. Los desarrolladores han utilizado ASP, componentes web de Office e interoperabilidad COM en aplicaciones durante años. Microsoft ha mejorado VSTO para desarrollar e implementar aplicaciones y mejorar la administración de la memoria. Pero, la pregunta sigue siendo: ¿VSTO está diseñado para ser más fácil de usar y más confiable que otros enfoques disponibles en la actualidad? Los desarrolladores quieren trabajar con soluciones que no los decepcionen en términos de rendimiento, seguridad, escalabilidad, estabilidad, confiabilidad o características mejoradas.

Asposeproporciona una gran línea de .NET, Java, Cloud y API de Android. Las API Aspose incluyen productos como Aspose.Cells, Aspose.Words, Aspose.Pdf y Aspose.Slides, API que ayudan[los desarrolladores abren, modifican, generan, guardan, combinan y convierten documentos en varios formatos, incluidos XLS, XLSX, DOC, DOCX, HTML, PDF, PPT.

En este artículo, comparamos VSTO con Aspose.Cells for .NET.

[Aspose.Cells]](https://products.aspose.com/cells/net/) es una Microsoft manipulación independiente de hojas de cálculo de Excel API que lee y escribe Microsoft hojas de cálculo de Excel sin Microsoft Excel instalado en el lado del cliente o del servidor. Aspose.Cells es un componente rico en funciones y ofrece mucho más que solo exportar datos básicos. Con Aspose.Cells, los desarrolladores pueden exportar datos, formatear hojas de cálculo, importar imágenes, importar, crear y manipular gráficos, transmitir datos de Excel y guardar en varios formatos. Para obtener más información sobre el producto y sus características:

Este artículo compara VSTO y Aspose.Cells en diferentes aspectos relacionados con Microsoft Excel. La lista no está completa, pero representa algunas cuestiones que los responsables de la toma de decisiones deben comprender antes de tomar una decisión final antes de adoptar un enfoque.

.NET Requisito marco

VSTO requiere el marco .NET (que incluye Visual Studio Tools para Office SE Runtime) en el lado del cliente para ejecutar la aplicación final. En la mayoría de los entornos corporativos, especialmente en escenarios web, los usuarios finales no pueden instalar el software de la aplicación y los marcos de tiempo de ejecución relacionados. Este requisito por sí solo hace que las aplicaciones basadas en VSTO sean problemáticas. Prácticamente descarta las aplicaciones estándar basadas en VSTO.

Por el contrario, Aspose.Cells for .NET no exige necesariamente el Marco .NET en el lado del cliente para el escenario subyacente. Las aplicaciones de Office creadas con el componente son livianas y están garantizadas para funcionar en sistemas Microsoft Windows bajo una carga significativa.

Características

Las funciones que proporciona VSTO dependen de la combinación de productos VSTO y Visual Studio que haya instalado. Las tareas comunes realizadas por VSTO para Microsoft Office Excel 2003 incluyen agregar datos a Cells, crear, abrir y guardar libros de trabajo, agregar, mover y ocultar hojas de trabajo, proteger hojas de trabajo, rangos con nombre, lista de objetos, formato de estilos, búsqueda de texto en celdas, clasificación de datos, impresión y cálculos de fórmulas de Excel.

Aspose.Cells proporciona todo lo necesario para administrar Microsoft archivos de Office Excel y mucho, mucho más. El API brinda a los desarrolladores excelentes resultados con el mínimo esfuerzo. Aspose.Cells proporciona muchas funciones potentes que ahorran tiempo. el API proporciona API fáciles de usar para todo tipo de actividades de gestión de hojas de cálculo, cubriendo casi todas las características que proporciona Microsoft Excel. Todas las tareas enumeradas para VSTO se pueden realizar fácilmente con Aspose.Cells.

Aspose.Cells también es compatible con varias funciones avanzadas, incluida la compatibilidad con marcadores inteligentes, la importación y exportación de datos hacia y desde varias fuentes de datos, objetos y archivos de Excel, compatibilidad con clientes COM (cliente ASP) Interoperabilidad con el componente, conversión de archivos de Excel al formato PDF , guardando gráficos y hojas de cálculo de Excel como archivos de imagen.

Seguridad

De forma predeterminada, las aplicaciones VSTO requieren permisos de plena confianza para la ejecución, ya que no permite llamadas de confianza parcial. Para bloquear una aplicación web y proporcionar un nivel adicional de aislamiento de aplicaciones en un entorno alojado, puede usar la seguridad de acceso de código para restringir los recursos a los que puede acceder la aplicación y las operaciones privilegiadas que puede realizar. Pero debe invertir algo de tiempo y esfuerzo para comprender la seguridad de .NET.

Los proveedores de servicios de Internet (ISP) que alojan varias aplicaciones de muchas empresas diferentes suelen utilizar el nivel de confianza medio para asegurarse de que las aplicaciones no puedan leer los datos de otras ni interferir entre sí. Por razones de seguridad, los ISP pueden limitar aplicaciones web individuales en servidores compartidos a Confianza parcial.

Aspose.Cells for .NET puede ejecutarse con un nivel de seguridad de confianza medio. No se requieren privilegios especiales para ejecutar el ensamblaje en un entorno hospedado. La confianza media impone restricciones sobre los tipos de recursos del sistema compartido a los que pueden acceder las aplicaciones. Muchas aplicaciones web se ejecutan en servidores de alojamiento web. En el modo de alojamiento web, la mayoría de ellos solo pueden ejecutarse con un nivel de seguridad de confianza medio. Aspose.Cells for .NET puede satisfacer su necesidad muy bien en este sentido.

Rendimiento

El rendimiento es el factor más crítico al elegir cualquier enfoque o metodología para construir una solución.

El rendimiento de una aplicación VSTO se basa en los enfoques VBA y COM según el informe de algunos usuarios. Hay varios factores que influyen en el rendimiento de VSTO y es importante poner estos factores en perspectiva.

  • El costo inicial de .NET es intrínsecamente costoso. Las aplicaciones escritas con .NET deben incurrir en la sobrecarga de la compilación Just-In-Time (JIT), por lo que no se puede evitar la compilación JIT.
  • Otro factor de rendimiento que influye en las aplicaciones basadas en VSTO tiene que ver con el costo de llamar a través de las gruesas capas de máscara de automatización que envuelven los objetos Microsoft Office COM. VBA, creado y optimizado para interactuar con Microsoft Office, tiene una distancia más corta para viajar que .NET.
  • Finalmente, hospedar objetos de Excel en el IDE de Visual Studio es costoso en términos de recursos. Las aplicaciones VSTO tienen una huella de memoria mayor que las aplicaciones VBA. Las aplicaciones VSTO Excel usan mucha memoria y nunca la liberan al sistema operativo hasta que se cierran todas las instancias de Microsoft Excel.

Si está pensando en adoptar VSTO como plataforma de desarrollo para la tecnología de Office Microsoft, dedique algún tiempo a buscar recursos para familiarizarse con estos atributos.

Además, la implicación en el rendimiento de buscar siempre actualizaciones puede no ser adecuada para la solución (servidores de implementación más lentos, conexiones de red más lentas o simplemente no poder acceder al servidor con frecuencia pueden afectar negativamente los tiempos de carga).

Por el contrario, Aspose.Cells for .NET es altamente escalable, flexible y rápido. Generalmente, las aplicaciones de Office no fueron diseñadas para ser utilizadas simultáneamente por 100s y 1000s de usuarios; sin embargo, Aspose.Cells es. El API es estable y puede realizar tareas de hoja de cálculo sin problemas, ya sea en un solo servidor, impulsando una sola aplicación o en una granja web con equilibrio de carga que impulsa una aplicación de toda la empresa.

Requisitos del sistema

Al analizar los requisitos del sistema para estos dos enfoques, encontramos que VSTO es más costoso y necesita más elementos esenciales.

VSTO tiene una larga lista de requisitos previos:

  • Sistemas operativos compatibles: Windows 2000; Windows Servidor 2003; Windows Vista; Windows XP
  • .NET Versiones de marco compatibles: solo .NET framework 2.0 o superior.
  • Una o más de las siguientes ediciones de Visual Studio Tools para Office:
  • Microsoft Herramientas de Visual Studio 2005 para Microsoft Office System
  • Microsoft Visual Studio 2005 Herramientas para 2007 Microsoft Office System -Edición profesional de Visual Studio 2008
  • Visual Studio 2008 Team Suite Edición
  • Una versión de Microsoft Office:
  • Microsoft Office Profesional 2003 SP1
  • 2007 Microsoft Sistema de oficina

Aspose.Cells no requiere que Microsoft Excel esté instalado ni en el cliente ni en el servidor, ya que es un motor de creación de hojas de cálculo. Sin embargo, para ver documentos de Excel Microsoft, necesita al menos Microsoft Excel Viewer instalado en el sistema.

  • Sistemas operativos compatibles: Windows 2000; Windows Servidor 2003; Windows Vista; Windows XP
  • .NET Versiones de marco compatibles: todos los marcos .NET son compatibles, 1.0, 1.1, 2.0, 3.x, etc.

Instalación y Despliegue

La instalación de VSTO puede ser una tarea grande y problemática. ocasionalmente, una instalación exige que reinstale manualmente aspectos de las herramientas y que también los registre manualmente. Puede complicarse.

Por otro lado, Aspose.Cells for .NET está empaquetado en una sola DLL, por lo que no es necesario instalar aplicaciones adicionales. El componente solo lo utilizan las aplicaciones .NET y ninguna parte del código del componente está diseñada para esperar una respuesta humana. Solo visita Aspose.Cellspágina de descarga y descargue el último instalador Aspose.Cells. Ejecute el archivo descargado y siga las instrucciones del instalador. Luego, para usar el componente, haga referencia a él en su proyecto.

Tarea de ejemplo

Para mostrar las diferencias entre los dos enfoques, el siguiente código muestra cómo usar las API VSTO y Aspose.Cells para llenar un archivo de plantilla con datos.

  1. Se utiliza un archivo de Excel Microsoft (TempBook.xls) como plantilla. El libro de trabajo contiene algunas hojas de trabajo con algunas celdas llenas de datos.
  2. El código de ejemplo coloca 1000*20 registros en la primera hoja de cálculo del archivo de plantilla de Excel. La hoja de cálculo se llena con datos constantes (ficticios) en las celdas.

La tarea se realiza en un sistema con CPU Intel(R) Celeron(R) de 2,40 GHz, 760 MB de RAM en el sistema operativo Microsoft Windows XP Professional.

Los segmentos de código a continuación ilustran cómo realizar estas tareas con cada API.

Código VSTO

Código Aspose.Cells

Resultados

Los resultados mostraron que el uso de VSTO API tomó alrededor de 2,5 minutos (aproximadamente más de 150 segundos) para finalizar la tarea, mientras que Aspose.Cells usó menos de 1 segundo en un hardware común con configuraciones de sistema normales.

Si el bucle se extiende, por ejemplo, para llenar 10 000*20 celdas, Aspose.Cells tarda unos 5,5 segundos en hacer el trabajo.

Conclusión

Si está considerando utilizar una tecnología de Office Microsoft en una solución comercial, primero familiarícese con las alternativas disponibles. Realice algunas pruebas basadas en diferentes productos y expóngalos a una variedad de condiciones del mundo real, como carga y estrés, para ver qué tan bien funcionan.

Aspose.Cells es un producto estable y maduro con una base de clientes en todo el mundo y lo suficientemente escalable para funcionar bien bajo cargas pesadas.

El rendimiento de VSTO aún no está refinado. Es muy posible que algunos de estos problemas de rendimiento no se relacionen con VSTO en sí, sino que tengan conexiones con los procesos de compilación .NET JIT. Pero, aún así, existen ciertas dudas sobre si las aplicaciones VSTO se escalarían a sí mismas a medida que aumentara la carga. El modelo más nuevo de VSTO no requiere que Excel resida en el servidor web para el procesamiento de documentos, pero creo que VSTO tiene un largo camino por recorrer para tener un impacto real.