El uso de hojas de cálculo Excel en nuestros desarrollos
Seguro que le ha pasado a todo el mundo, inicio de la planificación de un nuevo proyecto o funcionalidad, todo el equipo está proponiendo ideas, se planea una infraestructura adecuada y cuando se empieza a hablar de la gestión de datos, alguien recuerda que parte o la totalidad de estos, va a venir dada mediante unas hojas de cálculo.
Si, es una realidad, aún con todas las nuevas tecnologías a nuestro alcance, las hojas de cálculo siguen ofreciendo una cantidad de opciones, cálculos, gráficos, etc.que hacen que sean la herramienta de gestión principal de muchos usuarios por su rápido acceso y su gran profundidad en cuanto a alternativas.
Por ello, hoy vamos comentar brevemente algunas alternativas para estas ocasiones, ya que es muy probable que en cualquier proyecto en un futuro cercano, alguna de estas tareas conlleve rellenar tu base de datos en base a los contenidos de una hoja de cálculos, generar una nueva en base a los datos que estas mostrando por pantalla, o incluso llegar a usar la propia hoja como si fuera tu gestor de datos.
Las dos herramientas que utilizamos habitualmente en estos casos, por lo general en proyectos .NET, son los paquetes Interop Excel y EPPlus.
Ambas herramientas nos permiten tanto la generación de excel, como su edición, como obtener cualquier dato del mismo.
Pero, ¿cuál de los dos es mejor?
Bueno, al final todo depende de las necesidades del desarrollo. Cada uno tiene sus puntos positivos y negativos, que voy a pasar a mencionar de forma general ahora para que quede visible cual puede interesarnos más.
Interop Excel
Ventajas
- Soporta ficheros con una carga masiva de datos de forma más robusta.
- Código más completo con muchas opciones.
- Permite obtener los resultados de las fórmulas que se aplican por código a las celdas.
Inconvenientes
- Requiere la instalación de las Office Developer Tools o del propio Excel en el servidor donde se vaya a utilizar.
- El código es relativamente complejo si se utilizan todas las opciones disponibles.
- Requiere más acciones de control (cierre de ficheros al terminar, etc)
EPPlus
Ventajas
- No requiere ningún paquete adicional.
- Soporta formatos libres de hojas de cálculo.
- Código más simple y reducido.
- Es notablemente más rápido que su competidor a la hora de leer los datos.
Inconvenientes
- Alto índice de excepciones con ficheros masivos.
- No puede obtener los resultados de las fórmulas aplicadas a las celdas desde el código (si se abre el excel, si que veremos el resultado).
Como se puede ver, aunque a priori EPPlus parece la opción ganadora, teniendo menos requisitos para su uso, y siendo más rápido que Interop en términos generales, existen escenarios en los que nos va a resultar necesario disponer de Interop como única opción para la resolución de nuestros proyectos, y es por eso que en Dreams trabajamos con las dos alternativas para ofrecer la mejor solución a cualquier necesidad.