Tuesday, September 19, 2017
.NET, ASP.NET MVC 5

Descargar reporte en Crystal Reports con ASP.NET MVC 5

>helibertoarias helibertoarias
julio 25, 2015

Que haremos?

Vamos a descargar reporte en Crystal Reports con ASP.NET MVC 5, para esto creamos una representación de los datos del reporte usando un DataSet luego adicionamos un reporte sobre Cristal Reports y lo enlazamos a nuestro DataSet para diseñarlo.  Finalmente, configuraremos una acción en un controlador para que retorne el archivo a descargar, previamente habremos procesado y cargado los datos al DataSet del reporte.

Requerimientos

  • Visual Studio 2012 preferiblemente actualizado al update 4. Si no lo tienes, y tu conexión a internet es algo lenta,  te recomiendo esta guía para que primero descargue los 1.8GB de instalación o si lo deseas descargas el instalador de 1.3MB desde este enlace.
  • ASP.NET and Web Tools 2013.1 for Visual Studio 2012 (Para habilitar MVC 5 en Visual Studio 2015).
  • SQL Server Data Tools for Visual Studio 2012, lo puedes bajar de aquí.

1. Creando el proyecto

Vamos a crear un aplicación ASP.NET MVC 5 vacía, para la prueba no necesitamos más.

Creando aplicación MVC 5 vacía

Creando aplicación MVC 5 vacía

2. Adicionado el DataSet

Adicionaremos un DataSet con el nombre DS_Datos, a este le agregaremos un DataTable y lo llamaremos Persona. A este DataTable le crearemos 3 columnas que serán Nombre, Apellido y Codigo. Esta última columna será de tipo numérico.

Adicionando DataSet

Adicionando DataSet

Adicionado DataTable

Adicionado DataTable

Especificando tipo dato númerico

Especificando tipo de dato númerico

3. Adicionado el Reporte en Cristal Reports

Luego de crear nuestra estructura procedemos a adicionar el reporte que la utilizará. Aquí seleccionaremos en el campo origen de datos el DataSet creado, DS_Datos.

Adicionando informe Cristal Reports

Adicionando informe Cristal Reports

Adicionado conjunto de datos

Adicionado conjunto de datos

Seleccionando DataSet

Seleccionando DataSet

Para la visualización de datos utilizaremos un objeto tipo tabla pero solo para efectos de prueba ya que puedes diseñar el reportes haciendo uso de los demás componentes disponibles. Adicionalmente también es posible crear otros reportes e incluirlos como subreportes para ello deberás cargar los datos por cada subreporte.

Adicionado tabla reporte

Adicionado tabla reporte

Seleccionado columnas en el Cristal Reports

Seleccionado columnas en el Cristal Reports

4. Modificando el controlador

Vamos a crear un controlador que contendrá la acción que enlazará los datos al reporte y luego nos permitirá descargarlo en formato PDF pero antes debemos adicionar una referencia hacia Microsoft.ReportViewer.WebForms.

Adicionando referencia Cristal Reports

Adicionando referencia Cristal Reports

Para esta prueba nuestro proyecto vacío de MCV no contiene un controlador Home así que he modificado el RouteConfig para que al iniciar la aplicación ejecute la ruta ~/Reporte/Index.

En el código de la acción Index hemos colocados unos datos dummy y las instrucciones necesarias para configurar los datos al reporte, para su posterior  generación y descarga.

 

Una vez iniciada la aplicación se generará la descarga del PDF cuyo contenido es el siguiente.

Archivo generado

Archivo generado

 

 5. Descargar código fuente

URL GitHub  https://github.com/HelibertoArias/MVC05_Cristal.git

URL Directa Código fuente solución MVC05_Cristal

(Visitado 1.017 veces, 1 visitas hoy)
Heliberto Arias
Mi nombre es Heliberto Arias y vivo en Barranquilla, Colombia. Soy desarrollador de software. He estado en el desarrollo de software desde el 2007. Cree este blog en 2013 para compartir lo que voy aprendiendo cada año, en el escribo de tecnologías Microsoft principalmente en C# (y aunque he usado VB declaro que lo detesto) y SQL Server desarrollado aplicaciones y servicios web entre otros.Me gustaría mucho si te suscribes a mis redes en Youtube, Google+, Twitter, e Instagram.

Comments

No comments found!

Leave a Comment

Your email address will not be published.

dos × cinco =

Login
Remember me
Lost your Password?
Password Reset
Login