Pregunta

Necesito diseñar un pequeño proyecto para generar informes de Excel en .NET, que se enviará a los usuarios para que lo utilicen.

Los informes de Excel contendrán tablas dinámicas.

No tengo mucha experiencia con ellos, pero se me ocurren tres alternativas de implementación:

  1. Establezca una consulta, rellénela y envíela desconectada.De esta forma el usuario podrá agrupar valores y jugar un poco, pero no podrá actualizar los datos.
  2. Genere una pequeña base de datos de acceso y envíela junto con el archivo de Excel, conéctese a ella.
  3. Copie los datos en Excel (quizás en alguna otra hoja) y conéctese a los datos allí.Creo que esto hará que el archivo de Excel sea muy grande.

¿Cuál sería la mejor alternativa en cuanto a rendimiento versus usabilidad?¿Existe otra alternativa que no conozco?

¿Fue útil?

Solución

Dado que es un proyecto pequeño, puede confiar en Excel para el almacenamiento de datos desde la aplicación.Será más fácil de desarrollar y probar, y más sencillo de mantener.

Otros consejos

@Espo

No, los usuarios no tendrán acceso a la fuente de datos original, por eso estoy considerando crear una pequeña base de datos de acceso con el subconjunto de datos requerido para el informe.

¿Hay que mantener los datos "sin conexión"?

Lo que suelo hacer en estos casos en los que tienes bastantes datos es utilizar un servidor SQL existente que ya está en la red.Si se va a utilizar en la oficina, los usuarios lo harán en línea de todos modos.

Sólo recuerde crear un usuario dedicado con acceso restringido en el servidor SQL para este informe y no almacene la contraseña "sa" en el archivo Excel.

Si por "enviado a los usuarios" se refiere a usuarios fuera de la oficina, esta no sería una buena solución.Si ese es el caso, intentaría incluir los datos en la hoja de Excel y ver qué tan grande se vuelve.Esa será la solución más fácil de usar si el archivo no es demasiado grande.

Además, encontré esto en línea: Diferentes formas de utilizar consultas web en Microsoft Office Excel 2003.Eso le permitirá almacenar los datos en un sitio web público (con una URL secreta si lo desea) y luego dejar que Excel extraiga los datos.De esa manera, no tendrá que llenar la bandeja de entrada de los usuarios con archivos grandes y también podrá actualizar los datos más tarde sin volver a enviar el archivo de Excel.

La opción 3 parece la más simple y habría pensado que Excel es más eficiente que Access para almacenar los datos.El problema con dos archivos es hacer que los enlaces entre ellos funcionen incluso en una ubicación diferente.

@paulmorriss

Tal vez...el problema con eso es que existen limitaciones en cuanto a la cantidad de datos que puede contener una sola hoja...Estoy pensando en la opción 2, a menos que alguien me diga que no es una buena idea en cuanto a rendimiento.

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