Exportar Gridview a Excel, problema de formato.

Amigo tengo este problema que ya me tiene loco.
Estoy exportando la información de un gridview a excel, estoy programando en asp.net 2005.
Para realizar la exportación tengo este código.
ds = obj.DameDataset("select top(10) tarjeta,vigenciatar,monto,fechaela,email,cliente from cobros_tob", con)
dg1.DataSource = ds.Tables(0)
dg1.DataBind()
Dim sb As StringBuilder = New StringBuilder()
Dim sw As IO.StringWriter = New IO.StringWriter(sb)
Dim htw As HtmlTextWriter = New HtmlTextWriter(sw)
Dim pagina As Page = New Page
Dim form As New HtmlForm
pagina.EnableEventValidation = False
pagina.EnableViewState = False
pagina.DesignerInitialize()
pagina.Controls.Add(form)
form.Controls.Add(dg1)
pagina.RenderControl(htw)
Response.Clear()
Response.Buffer = True
Response.ContentType = "application/vnd.ms-excel"
Response.ContentEncoding = System.Text.ASCIIEncoding.UTF8
Response.Charset = "iso-8859-1"
Response.AddHeader("Content-Disposition", "attachment;filename=Poliza.xls")
'Response.Charset = "UTF-8"
Response.ContentEncoding = Encoding.Default
Response.Write(sb.ToString())
Response.End()
Hasta acá el exportar va muy bien, el problema esta en que tengo información como por ejemplo el numero de una tarjeta de crédito, esto esta en el campo tarjeta, la información de este campo es hasta de 16 caracteres y esta al exportarlo a excel pasa de esta manera.
5.40776E+15 siendo lo correcto algo como 5407761234567893
Como hago para que al exportar la información desde el grid a excel esta pase tal y como se ve en el grid, como puedo formatear esto.

1 respuesta

Respuesta
1
Eso es implemente formato de excel, si expandes el ancho de la celda ya te debe aparecer el valor correcto o también envías el numero de la tarjeta como un texto, o sea lo encierras entre comillas sencillas.
Ya el campo en donde va el código de la tarjeta es de tipo texto, si te fijas en el código que te envíe estoy haciendo e¡Un select a una tabla, recuperando de esa tabla la información, luego esa información la exporto a excel, dentro de esa información va el código de la tarjeta que ya es texto y aun así no me funciono, ahora con agrandar el campo en excel tampoco se soluciona.
Tiene alguna otra idea que me puedas dar.
Colócale formato texto a la celda
Créeme que eso fue lo primero que se me ocurrió hacer cuando vi el archivo de excel con ese formato, seleccione la celda y la formate a texto, pero aun así sigue con el formato 5.40776E+15 siendo lo correcto algo como 5407761234567893
Edita la celda y colócale un espacio antes del numero
Cuando el archivo ya esta creado en excel, el problema no se soluciona con editar la celda o con aumentar el tamaño de la celda o con cambiar el formato de la celda a texto, ya estando en excel siempre me queda con el formato científico, parece que la solución se debe dar desde el momento que se esta exportando del dataset o del gridview a excel.
http://mattberseth.com/blog/2007/04/export_gridview_to_excel_1.html
Esa es otra manera ya que la forma en que lo haces no hace lo que tu deseas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas