Foros del Web » Programando para Internet » ASPX (.net) »

Error caracteres especiales de Datagrid a Excel

Estas en el tema de Error caracteres especiales de Datagrid a Excel en el foro de ASPX (.net) en Foros del Web. ¡Saludos! Espero me puedan ayudar, tengo el siguiente problema, cargo un query en mi Datagrid y quiero exportar toda la información del datagrid a un ...
  #1 (permalink)  
Antiguo 28/01/2008, 17:17
Avatar de ViccoLizcano  
Fecha de Ingreso: enero-2008
Ubicación: Working...
Mensajes: 100
Antigüedad: 16 años, 3 meses
Puntos: 1
Pregunta Error caracteres especiales de Datagrid a Excel

¡Saludos! Espero me puedan ayudar, tengo el siguiente problema, cargo un query en mi Datagrid y quiero exportar toda la información del datagrid a un archivo de Excel. Hasta ahí todo funciona bien.

Sin embargo, en el archivo de Excel me aparecen cambiados los caracteres con acentos por ejemplo:

DATAGRID: "OPERACIÓN"
EXCEL: OPERACIÓN

Esto debe ser problema de la función de exportación puesto que tanto en la Base de Datos, como en el Datagrid se muestran correctamente los caracteres. Pensé que sería el charset, por eso la "validación" al inicio de la función, pero bueno, les dejo el código y espero alguien sepa como solucionar este problema.

dgdata es el nombre de mi Datagrid

Gracias de antemano


Herramientas:
Visual Studio 2005 (Visual Basic)
SQL Server 2005

Código:
If Response.Charset <> "utf-8" Then
                    Response.Charset = "utf-8"
                End If
                Response.Clear()
                Response.Buffer = True
                Response.AddHeader("content-disposition", "attachment;filename=FileName.xls")
                Response.Cache.SetCacheability(HttpCacheability.NoCache)
                Response.ContentType = "application/vnd.xls"

                Dim stringWrite As System.IO.StringWriter = New System.IO.StringWriter
                Dim htmlWrite As System.Web.UI.HtmlTextWriter = New HtmlTextWriter(stringWrite)

                dgData.RenderControl(htmlWrite)
                Response.Write(stringWrite.ToString())
                Response.End()
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 13:59.