Generando un Excel desde ASP.NET
28 Agosto 2007
El requerimiento de reportear datos en Excel es bastante común (tan común como hacerlo en PDF casi). Tenemos dos maneras de hacerlo, usando Excel en el servidor para que nos genere los archivos o usar el mínimo formato que Excel entiende, ósea TDF. La ventaja de TDF es que lo entienden todos los Excel, la desventaja es que solo podremos generar archivos de solo texto, sin formatos avanzados o gráficos.
Para el laburo que tenía que hacer alcanzaba y sobraba con TDF y despues de googlear un poco encontre lo que necesitaba aca.
Ahi hay una explicacion bastante extensa del tema, pero si lo que quieren es generar el archivo sin muchas vueltas el codigo es el siguiente:
Private Sub Page_Load(..) Handles MyBase.Load
dt = New DataTable()
dt = loadDataTable
Response.ContentType = “application/ms-excel”
Response.AddHeader(“Content-Disposition”,“inline;filename=test.xls”)
Response.Write(ConvertDtToTDF(dt))
End Sub
‘Esta funcion convierte una tabla a TDF
Private Function ConvertDtToTDF(ByVal dt As DataTable) As String
Dim dr As DataRow, ary() As Object, i As Integer
Dim iCol As Integer
For iCol = 0 To dt.Columns.Count – 1
Response.Write(dt.Columns(iCol).ToString & vbTab)
Next
Response.Write(vbCrLf)
‘Genero las filas
For Each dr In dt.Rows
ary = dr.ItemArray
For i = 0 To UBound(ary)
Response.Write(ary(i).ToString & vbTab)
Next
Response.Write(vbCrLf)
Next
End Function
Definicion de Reusabilidad
22 Agosto 2007
¿ Herencia, Interfaces, Polimorfismo?… naaa.. nada de eso… segun un superior que tuve… el logra todo eso con un Copy-Paste