Exportar de Gridview a Excel con C# Webform

gridview

Creo que este tema ya lo han visto en muchos blogs, como exportar de gridview a excel, PERO no tocan el tema de cuando es una consulta de mas de 13 mil registros (y eso que es poco) y que al momento de exportarlos te arroje un excel vació o corrupto, pues a mi me paso, por eso con este humilde post les voy a contar como solucione este problema (gracias a un gran amigo).

¿Que paso?

Bueno, me asignaron un proyecto en la cual necesitaban agregar unas columnas para mostrar unos datos que requería el cliente, si cambios, dije oh! sera algo rápido no me tomara mucho tiempo y lo cual fue cierta… hasta cierto punto… ya que todo funcionaba perfecto en mi maquina… hasta que subir los archivos actualizados al servidor de desarrollo… hicieron una pequeña consulta y BINGO! todo perfecto… hasta que… hicimos la consulta general para mostrar todos los registros, en el preview todo OK pero al momento de exportar el gridview a Excel PUM! no se podía abrir el excel “archivo dañado”.

Gridview

Los problemas

El problema era muy simple, exportar de gridview a excel no debería ser mucho problema… con mi poca experiencia que tengo con C# comencé a hacer pruebas locales cosa que todos me descargaron todos los registros pero al momento de subirlos a desarrollo todo se rompía: archivo dañado, descargaba un archivo con 0 bytes…

¿Como solucione el problema del gridview?

Despues de darle vueltas y vueltas a la manera de resolver este problema, exportar grandes cantidades de registro, pude hacerlo! yes!.

Ahora ¿como lo hice?, he creado 2 funciones y aca lo comparto para que si a alguno le ha pasado lo mismo tenga una solución rápida.

Primera función MExportar

Con la primera funcion llamaremos a nuestra Gridview, en mi caso ya tengo una funcion que hace esto y la convertimos en un DataTable.

Esto seria todo para lo que va en la generación del excel.

Segunda función XmLizeDt

Con la siguiente función creamos la estructura de nuestro excel con los datos que generamos en la DataTable, el código es muy simple y eficiente.

Espero que les haya sido de utilidad, como lo fue para mi, no se olviden de compartir! 😀

Un gran agradecimiento a mi amigo Danny Siancas por la ayuda 🙂 te debo una caja de alfajores :D!!

(Visited 174 times, 1 visits today)

Facebook Auto Publish Powered By : XYZScripts.com