Para el ejemplo tenemos una tabla de SQL Server llama usuarios con los siguientes datos.
Creamos un botón y copiamos el siguiente código.
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'exporta a excel el contenido de una tabla
Dim dt As New DataTable()
Dim cmd As New SqlCommand("SELECT nombre,puesto,ciudad FROM usuarios", Cnn)
Dim da As New SqlDataAdapter(cmd)
da.Fill(dt)
'Generar HTML para la tabla
Dim sb As New StringBuilder()
sb.Append("<table border='1'>")
'Encabezados
sb.Append("<tr>")
For Each col As DataColumn In dt.Columns
sb.Append("<th>" & col.ColumnName & "</th>")
Next
sb.Append("</tr>")
'Filas
For Each row As DataRow In dt.Rows
sb.Append("<tr>")
For Each item In row.ItemArray
sb.Append("<td>" & item.ToString() & "</td>")
Next
sb.Append("</tr>")
Next
sb.Append("</table>")
'Enviar al navegador como archivo .xls
Response.Clear()
Response.Buffer = True
Response.AddHeader("content-disposition", "attachment;filename=Usuarios_" & Date.Now.ToString("yyyyMMdd") & ".xls")
Response.Charset = ""
Response.ContentType = "application/vnd.ms-excel"
Response.Output.Write(sb.ToString())
Response.Flush()
Response.End()
End Sub
Ejecutamos la Webform y presionamos el botón, se realizará la exportación a Excel de todos los registros de la tabla.
0 Comentarios