Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 25-nov-2004, 10:50   #1 (permalink)
see07 está en el buen camino
 
Avatar de see07
 
Fecha de Ingreso: abril-2004
Ubicación: México, D.F.
Mensajes: 112
Enviar un mensaje por Yahoo  a see07
Alegría Exportar datos de un datalist a una Hoja de Excel

Estoy usando este código para exporter datos de un datagrid a una Hoja de Excel:

Response.Clear();
Response.Buffer= true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "inline;filename=Clientes.xls");
Response.Charset = "";
this.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
DataGrid1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();

Y esto trabaja bien.
Pero ahora quiero hacer lo mismo con un datalist y así cambié la línea de RenderControl así:

DataList1.RenderControl(oHtmlTextWriter);

Sin embargo, cuando se muestra la Hoja de Excel, todos los datos se despliegan en la columna “A”, con un renglón por cada renglón del datalist.

¿Sabe alguien como puedo hacer que funcione como funciona con el datagrid (cada columna en el datalist dentro de su respectiva columna in Excel)?

Se los voy a agradecer mucho.

A.L.
__________________
El hombre que tiene amigos ha de mostrarse amigo....
see07 está desconectado   Responder Citando
Antiguo 26-nov-2004, 11:08   #2 (permalink)
Moderador
RootK llegará a ser famoso muy prontoRootK llegará a ser famoso muy pronto
 
Avatar de RootK
 
Fecha de Ingreso: noviembre-2002
Ubicación: México D.F
Mensajes: 7.542
Enviar un mensaje por MSN a RootK
la cuestion es que un datagrid tiene la propiedad AutogenerateColumns y con ello cuando haces el bind genera las columnas, filas necesarias y por eso la exportación se hace bien.

En el caso de un datalist lo tienes que hacer a mano, puedes crear una tabla con los datos necesarios para que cuando hagas la exportación puedas ver las diferencias..

Ejemplo:

Cita:
<asp:datalist id="DataList1" runat="server">
<HeaderTemplate>
<table border="0">
</HeaderTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label Runat=server ID="lbl1" text='<%# Container.DataItem("Campo1") %>'>
</asp:Label>
</td>
<td>
<asp:Label Runat=server ID="Label1" text='<%# Container.DataItem("Campo2") %>'>
</asp:Label>
</td>
<td>
<asp:Label Runat=server ID="Label2" text='<%# Container.DataItem("Campo3") %>'>
</asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:datalist>
Espero te sirva..

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Última edición por RootK; 26-nov-2004 a las 11:17.
RootK está desconectado   Responder Citando
Antiguo 29-nov-2004, 11:41   #3 (permalink)
see07 está en el buen camino
 
Avatar de see07
 
Fecha de Ingreso: abril-2004
Ubicación: México, D.F.
Mensajes: 112
Enviar un mensaje por Yahoo  a see07
Gracias por tu respuesta Rootk:
Omití el Header en mi código e inserté <tr> <td> como me indicas.
Los datos que se muestran en el datalist son: Id, Número, Nombre, Dirección, Población, CP, Fecha de Alta.
Al oprimir el botón para exportar a Excel se muestran en la ventana en los primeros renglones en celda "A" la Fecha de Alta, con las demás celdas vacías, después de esto vienen los renglones con los demás datos pero en orden inverso: CP, Población, Dirección, etc.
¿Acaso falta algo más en el código?
A.L.
__________________
El hombre que tiene amigos ha de mostrarse amigo....
see07 está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:21.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93