SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: see07 en Martes 28 de Diciembre de 2004, 19:15
-
Estoy usando este código para exportar datos de un repeater a una Hoja de Excel:
Response.Clear();
Response.Buffer= true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;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);
Repeater1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
La hoja de Excel contiene los datos que estaban contenidos en el Repeater, sin embargo los acentos y la letra ñ no me los muestra correctamente, por ejemplo:
México lo muestra como México
López lo muestra como López
Villafaña lo muestra como Villafaña
María lo muestra como MarÃa
¿Alguno de Ustedes sabe a qué se debe esto y la manera como puedo solucionarlo?
Se los voy a agradecer mucho.
A.L.
-
¿No hay en el foro alguien que haya vivido una problemática de éste genero? :whistling:
-
Buenas, :hola:
Soy nuevo en este Web de foros, y yo miro más en el foro de ASP.NET.
Yo he trabajado en una aplicación Web que exportaba tablas a Excel, y aunque he tenido problemas con el formato de algunos datos (sobre todo fechas), no he tenido problemas con las tildes.
Pero claro, lo que yo hacía era crear una hoja excel y decirle al usuario si lo que quería era abrirlo o bajarlo a su disco duro, como cuando pinchas sobre un enlace de un .exe.
Si quieres te podría dar un ejemplo de como lo hacia (si lo encuentro!).
Saludos y suerte.
-
Hola Guorker: :hola:
Si encuentras el código te agradeceré compartirlo conmigo.
Gracias
A.L.
-
Hola,
en otra conversación parecida a esta (la del DataGrid) he dejado un ejemplo de una función que exporta a Excel un DataGRid.
Supongo que en vez de utilizar el DAtaGRid se podría utilizar el Repeater para llenar los datos de las celdas.
Hechale un vistazo y me cuentas.
-
Gracias Guorker:
Pero no me sirve para un Repeater ya que en éste no tengo las columnas como tales, como sucede en un datagrid.
Saludos
A.L. :(
-
Finalmente encontré la manera de hacerlo:
Debajo de esta línea:
Response.ContentType = "application/vnd.ms-excel";
Agregué esta otra línea :
Response.ContentEncoding = System.Text.Encoding.UTF7;
Espero esto ayude a quienes tengan un problema similar.
A.L. :hola: