Foros del Web » Programación para mayores de 30 ;) » .NET »

Exportar Datos de un DataGrid a Excel

Estas en el tema de Exportar Datos de un DataGrid a Excel en el foro de .NET en Foros del Web. Hola, necesito exportar los datos que tengo en un DataGrid a una tabla de Excel. Gracias...
  #1 (permalink)  
Antiguo 31/03/2005, 17:00
 
Fecha de Ingreso: marzo-2005
Mensajes: 48
Antigüedad: 19 años, 1 mes
Puntos: 0
Exportar Datos de un DataGrid a Excel

Hola, necesito exportar los datos que tengo en un DataGrid a una tabla de Excel. Gracias
  #2 (permalink)  
Antiguo 01/04/2005, 01:04
Avatar de avsurdo  
Fecha de Ingreso: mayo-2004
Ubicación: Sevilla
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
Con estas dos lineas de código lo que hago es mostrar en pantalla un fichero de excel, pero en la página sólo contengo el datagrid:
Page.Response.ContentType = "application/vnd.ms-excel";
Page.Response.AddHeader("Content-Disposition", "inline; filename=Nombre.xls");
__________________
:stress: De verdad de la buena
  #3 (permalink)  
Antiguo 01/04/2005, 08:28
 
Fecha de Ingreso: marzo-2005
Mensajes: 48
Antigüedad: 19 años, 1 mes
Puntos: 0
Pero en mi caso tengo mas controles en pantalla y necesito solo los datos del DataGrid.
  #4 (permalink)  
Antiguo 01/04/2005, 09:18
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola

Prueba con esto:

En el evento click del boton para exportar coloca este codigo

Response.Clear ();
Response.Buffer = true;
Response.AddHeader ("Content-Disposition","attachment;filename =Nombre.xls");
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text .Encoding .Default ;

DataGrid1.AllowPaging = false;
DataGrid1.AllowSorting = false;
DataGrid1.DataBind ();
System.IO .StringWriter tw = new System.IO.StringWriter ();
System.Web .UI .HtmlTextWriter hw = new HtmlTextWriter (tw);
DataGrid1.RenderControl (hw);
Response.Write (tw.ToString ());
Response.End ();

Checalo y me dices si te sirvio o no
__________________
grissss :Zzz:
  #5 (permalink)  
Antiguo 01/04/2005, 09:41
 
Fecha de Ingreso: marzo-2005
Mensajes: 48
Antigüedad: 19 años, 1 mes
Puntos: 0
System.IO .StringWriter tw = new System.IO.StringWriter ();
System.Web .UI .HtmlTextWriter hw = new HtmlTextWriter (tw);
DataGrid1.RenderControl (hw);
Response.Write (tw.ToString ());

estas lineas me aparecen con error que mas debo hacer. Gracias
  #6 (permalink)  
Antiguo 01/04/2005, 10:28
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Qué error te sale?. Recuerda que eso es código c# y probablemente tu estas programando en vb tal vez por eso te da error, porque a simple vista el código está bien.
  #7 (permalink)  
Antiguo 01/04/2005, 10:34
 
Fecha de Ingreso: marzo-2005
Mensajes: 48
Antigüedad: 19 años, 1 mes
Puntos: 0
Si yo estoy programando en VB, entonces que hago
  #8 (permalink)  
Antiguo 01/04/2005, 10:44
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
tienes que pasar el código a vb.
te quedaría así:

Dim tw as new System.IO .StringWriter
Dim hw as new System.Web .UI .HtmlTextWriter(tw)
DataGrid1.RenderControl (hw)
Response.Write (tw.ToString)
  #9 (permalink)  
Antiguo 01/04/2005, 12:56
 
Fecha de Ingreso: marzo-2005
Mensajes: 48
Antigüedad: 19 años, 1 mes
Puntos: 0
No el codigo no me funciona, cuando abro el archivo de excel me dice que no se puede leer el archivo.
  #10 (permalink)  
Antiguo 01/04/2005, 17:18
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 19 años, 4 meses
Puntos: 0
Porque no pones el codigo que tienes para ver que como esta, y en que estas trabajando en winforms? o webforms?
__________________
grissss :Zzz:
  #11 (permalink)  
Antiguo 04/04/2005, 12:56
 
Fecha de Ingreso: marzo-2005
Mensajes: 48
Antigüedad: 19 años, 1 mes
Puntos: 0
es el mismo codigo que me pasate y estoy trabajando webforms
  #12 (permalink)  
Antiguo 04/04/2005, 13:21
Avatar de Sayra  
Fecha de Ingreso: diciembre-2004
Mensajes: 365
Antigüedad: 19 años, 4 meses
Puntos: 1
Oye , yo he trabajado con eso pero vi en la fags del sitio algo que tiene que ver con eso

http://www.forosdelweb.com/f29/faq-s-del-foro-net-206048/

Revisalo a ver que tal.
  #13 (permalink)  
Antiguo 05/04/2005, 04:06
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Aki tienes otro tema donde se dicutio de esto
yo tb ando ahora empezando a ver como ahcer esto;

http://forosdelweb.com/showthread.php?t=240541
  #14 (permalink)  
Antiguo 05/04/2005, 08:30
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 19 años, 4 meses
Puntos: 0
Ok, en lo particular me funciono, porque no dices que error te marca , quiza solo sea alguna directiva la que te este faltando.
__________________
grissss :Zzz:
  #15 (permalink)  
Antiguo 05/04/2005, 10:00
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Esto me funciono,copie el codigo y lo que hace es generar un archibo,te pone abrir o guradar ...Si le das a abrir te habre un documento xml dando un error
Si le doy a guradar me lo gurada.
Para verlo tengo q abrirlo desde excel
si le doy doble click me abre el explorador y me intenta abrir un xml y da erro
La idea o lo interesant eseria q cdo pulses al boton te abra directamente el documeto en un excel,se que la idea es q el intercambio de datos se hace a traves de xml y por eso me pasa esto pero q codigo tengo q añadir para q directamente me abra en excel??????????
  #16 (permalink)  
Antiguo 05/04/2005, 10:30
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Probablemente sea porque no estás enviando el MIME correcto, no te olvides de poner lo que dijeron arriba:

Response.ContentType = "application/vnd.ms-excel";
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #17 (permalink)  
Antiguo 06/04/2005, 01:46
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Tenias razon,en el codigo que que viene antes venia sin el reponse.contentType.

Cogi y mire que significaba cada cosa y vi que el ContEncoding era informacion adicional al contentType,y lo entendi mal ,que con este ya valia....

De la misma manera que hacemos esto podriamos pasarlo a pdf,lo unico que habria que pasarlo a binario no???
es que le he estado dandole vueltas,y estaba intentado hacer lo de pdf a traves de una impresora virtual pero tenia problemas con que me imprimia tb la cabecera y datos en el pie de pagina que lleba consigo el navegador . Esto no lo soluciono quitando la opcion del navegador poe que tendria que ir ordenador por ordenador..., Kizas me sea mejor el pasarlo de esta manera y olvidarme del tema este la impresora virtual.

Como lo ven

pd. Utilizo web matrix ==> nada de crystal reports

Última edición por neivan; 06/04/2005 a las 02:04
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:36.