Exportar a Excel todo el contenido de una tabla de SQL Server sin instalar una librería

 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.






Publicar un comentario

0 Comentarios