none
Herramientas para Exportar Datos de SQL server a Excel

    Question

  • Hola.

    Soy totalmente nuevo en materia de exportación de datos y más que preguntarles cuáles son los pasos específicos para lograrlo, me gustaría apelar a su conocimiento y experiencia sobre el tema.

    Buscando en Internet he encontrado que dos de las librerías(gratuitas) que tienen mejores comentarios son :

    NPOI y EPPlus  Ambas tienen sus pros y contras :por ejemplo EPPlus solo trabaja con Excel 2007/2010 y NPOI según lo que veo en su página no soporta gráficos excel (supongo que se refiere a la creación por código porque he visto un ejemplo con plantillas que sí funciona bien) 

    Reporte Deseado

    Lo que tengo planeado reportar es básicamente consolidados de notas como se muestra en la imagen, pero dado que el numero de criterios puede variar según el curso y el criterio del maestro quisiera saber si algo así podría ser logrado con simples plantillas( Simples libros de excel con formato)haciendo uso de alguna de las librerías mencionadas o tal vez necesite plantillas con macros (nunca los he usado), pregunto porque en los ejemplos que he visto de NPOI (como este) se usan plantillas que son llenadas por formularios y usando un numero de celdas especifico (de antemano saben cuantas y cuales son las celdas a llenar

    Como les mencionaba al inicio soy nuevo en esto de los reportes y quisiera saber si alguno de uds ya usado alguna de esa librerías o tal vez conozcan otra (que sea libre) que me permita obtener un reporte como el de la imagen (donde el nro de columnas o criterio depende de lo registrado en la BD)

    Mi aplicación esta desarrollada en asp.net 4.0 y sql 2008 y el uso de excel 2003 no es critico aunque si soportara sería mejor

    Bueno espero que puedan compartir sus opiniones, experiencias y sobre todo sus sugerencias para poder iniciarme en los reportes.

    Saludos y muchas gracias de antemano.


    • Edited by edalo Thursday, December 13, 2012 11:38 PM Cambio de título
    Thursday, December 13, 2012 11:13 PM

All replies

  • todo un tema

    yo he usado

    http://closedxml.codeplex.com/

    pero el tema es que este solo soporta excel 2007 o superior

    aquizas podrias ver de usar open xml de forma directa

    http://www.spreadsheetgear.com/support/samples/charting.aspx

    http://www.codeproject.com/Questions/428784/Open-XML-Excel-Create-BarChart

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Friday, December 14, 2012 1:03 PM
  • Hola Leandro

    Me dices que ya has usado ClosedXML , dime en tu experiencia vez factible algo como lo de la imagen? Lo digo por la columna promedio y porque el numero de columnas "Criterio #" es variable y por alguna razón me parece algo complicado a diferencia de un escenario en el que el numero de columnas es fijo y lo único que voy haciendo es variar es el nro de filas conforme las voy agregando al final.

    Otra cosa que he notado es que no soporta gráficos(y puede que más adelante los necesite) así que alguna forma debe haber para crear gráficos , tal vez usando plantillas que implementen gráficos alimentados por rangos con nombre (named ranges) , me gustaría saber si llegaste a usar gráficos que hiciste para solucionar eso???.

    • Edited by edalo Friday, December 21, 2012 10:03 PM
    Saturday, December 15, 2012 6:42 PM
  • Dado que se trata de exportar datos desde SQL Server, una opción sería hacerlo mediante las propias herramientas de SQL Server. En particular, estoy pensando en usar SQL Server Reporting Services (SSRS), que es "gratis" en el sentido de que ya viene incluido con SQL Server sin coste adicional. Y si se quiere hacer desde lado cliente, se puede hacer lo mismo con el ReportViewer y un informe .rdlc creado desde Visual Studio. En cualquiera de los dos casos, se arrastraría una región de tipo Matrix al diseño del informe, y se vincularían sus filas y columnas a los campos Alumno y Criterio de un DataSet cargado con los datos correspondientes (el Promedio no es necesario que venga en el DataSet, lo puede calcular el Matrix directamente). Una vez completado el informe y comprobado que sale bien en pantalla, se puede usar el WebService de SSRS para llamarlo desde tu aplicación pidiéndole que lo genere en formato Excel (o lo puede exportar el usuario pinchando en pantalla sobre el informe y pidiendo el formato que quiera).

    • Marked as answer by Ricardo RussoModerator Wednesday, December 19, 2012 1:49 PM
    • Unmarked as answer by edalo Thursday, December 20, 2012 11:08 PM
    Saturday, December 15, 2012 9:30 PM
  • Leandro disculpa que insista pero como me mencionaste que ya antes habías usado closedXML y también he visto que en más de una vez la haz recomendado quisiera saber si tienes idea a que se pueda deber este problema con el que me topé al hacer pruebas con closedXML. Ya he preguntado aquí y  aquí pero hasta ahora no he recibido respuesta.

    Quiero insistir con ClosedXML porque básicamente necesito trabajar con Excel 2007 o posterior y si bien NPOI en su version 2.0 ya soporta excel 2007 aun no es una versión estable y presenta mas de un error.

    En cuanto a EPPlus tiene muchas ventajas(soporta chart y macros) sobre las dos bibliotecas antes mencionadas pero hasta ahora no encontrado un ejemplo que muestre como trabajar con plantillas y saber que insertar columnas en un excel existente aun no es posible , de plano se trae abajo todo lo que quiero hacer(EPPlus se presta a crear reportes en excel desde cero) y como lo que plantee en mi pregunta inicial con laimagen de alumnos y criterios  básicamente si lo he podido realizar con ClosedXML es que quiero seguir con esta biblioteca pero el problema con el que me topé y que plantee en los dos sitios puse arriba es lo que me tiene estancado porque sospecho que es por eso que no puedo calcular los promedios en la columna promedio (de mi imagen).

    Por favor si le podrías revisar mi pregunta  y contestarme porque aquí te lo agradecería infinitamente 

    Friday, December 21, 2012 10:02 PM