jueves, 29 de enero de 2015

Exportar a Excel desde una aplicacion MVC 4

El snippet que posteo a continuación permite exportar una consulta a Excel en un proyecto MVC. En particular donde uso este código es en un proyecto MVC 4.

Para quien sea nuevo en MVC. Este código debe ir en la carpeta Controller. En un archivo con nombre AlgoController.cs. En mi caso ContactoController.cs.

Los namespaces que se deben agregar son:


using System.Text.RegularExpressions;
using System.Web.UI.WebControls;
using System.Web.UI;



En la vista pongo un Javascript / Jquery como esto (Referencia: View/Reporte/Area.cshtml):
El código Javascript / Jquery  se ejecuta al presionar un botón con identificador btnExcel:
 Al momento de llenar el datasource del Gridview te puedes encontrolar con el siguiente error:

Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList().

Lo anterior ocurre cuando se trata de asociar el resultado de la consulta directamente al DataSource.Lo que se debe hacer es pasar el resultado a una coleccion. Ejemplo: resultado.ToList().

Fuente:
StackOverFlow

1 comentario:

Anónimo dijo...

bien!!