Exportar gridview a HTML en vb.net

Aquí solicitando tu ayuda,

Podrías darme un ejemplo de como puedo pasar un gridview a código html, ¿en asp.net?

1 Respuesta

Respuesta
1

Creo que puedes probar este código, me ha funcionado anteriormente...

Dim sb As StringBuilder = New StringBuilder()
Dim sw As StringWriter = New StringWriter(sb)
Dim htw As HtmlTextWriter = New HtmlTextWriter(sw)
Dim pagina As Page = New Page
Dim form = New HtmlForm
grid.EnableViewState = False
pagina.EnableEventValidation = False
pagina.DesignerInitialize()
pagina.Controls.Add(form)
form.Controls.Add(grid)
pagina.RenderControl(htw)
Response.Clear()
Response.Buffer = True
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader("Content-Disposition", "attachment;filename=data.xls")
Response.Charset = "UTF-8"
Response.ContentEncoding = Encoding.Default
Response.Write(sb.ToString())
Response.End()

Esto anterior lo pones en algún botón y substituyes el nombre del grid.

oye... ya probé el código y si funciona bien..

pero yo necesito lo que necesito es pasar el gridview a html

y el código que me enviaste lo pasa a excel =(

creo que no nos entendimos

me ayudas porfis

pues resulta que cambiando esta linea

Response.AddHeader("Content-Disposition", "attachment;filename=data.html")

poniéndole al final .html me funciona bien,

oye una duda, en el caso de un radgrid como seria esa parte???

hola... oye ya logre hacer que exporte el grid al formao HTML,

la duda aqui es, actualmente cuando se exporta me aparece una ventana preguntando

si deseo abrir o guarda el archivo, y yo lo que necesito es que No pregunte nada

y que se guarde en una ruta o carpeta especifica, tienes idea de como hacer esto???

saludos

Creo que puedes usar la clase filestream, para poder crear el archivo en memoria y ahí mismo poder decirle la ubicación donde lo quieres guardar.

En lugar de usar el objeto Pagina, usas un objeto de esta clase.

aquí hay algunos ejemplos de esto. http://vb.net-informations.com/files/vb.net_FileStream.htm

gracias por tu pronta respuesta, haré lo que me indicas y te aviso como me fue jeje

pues ya le puse lo que me dijiste, y efectivamente ya me guarda el HTML en la ruta que especifique, el problema es que al abrirlo el archivo,me aparece solo lo que escribo aquí

Encoding.ASCII.GetBytes("rgdListado") lo que esta dentro del parentesis

te dejo el codigo

da.Fill(dt)
rgdListado.DataSource = dt
rgdListado.DataBind()
Dim wFile As System.IO.FileStream
Dim alternateText As String = ""
rgdListado.ExportSettings.IgnorePaging =
True
rgdListado.ExportSettings.ExportOnlyData =
True
Dim byteData() As Byte
byteData =
Encoding.ASCII.GetBytes("rgdListado")---> duda como le hago para poner aquí el grid??
wFile =
New FileStream("C:\FacturasPrueba\kellyFactura.html", FileMode.Append)
wFile.Write(byteData, 0, byteData.Length)
wFile.Close()

tendrás algún correo para enviarte mejor el codigo.veo que aquí se distorsiona..

Dim sb As StringBuilder = New StringBuilder()
Dim sw As StringWriter = New StringWriter(sb)
Dim htw As HtmlTextWriter = New HtmlTextWriter(sw)
Dim pagina As Page = New Page
Dim form = New HtmlForm
grid.EnableViewState = False
pagina.EnableEventValidation = False
pagina.DesignerInitialize()
pagina.Controls.Add(form)
form.Controls.Add(grid)
pagina.RenderControl(htw)

Dim wFile As System.IO.FileStream
Dim alternateText As String = ""
rgdListado.ExportSettings.IgnorePaging =
True
rgdListado.ExportSettings.ExportOnlyData =
True
Dim byteData() As Byte
byteData =
Encoding.ASCII.GetBytes(htw)

wFile =
New FileStream("C:\FacturasPrueba\kellyFactura.html", FileMode.Append)
wFile.Write(byteData, 0, byteData.Length)
WFile. Close()

Pues así echando un vistazo rapido, prueba esto a ver que pasa. Si gustas enviar el código a [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas