Tuesday, December 11, 2007

class file for Database/datagrid to Excel sheet

Imports System.Data.OleDb
Imports System.Web.HttpResponse
Imports System.Data

Public Class DataGrid
Inherits System.Web.UI.Page

Public Sub Excel_View(ByVal Query As String, ByVal Connection_String As String)
Dim conn As New OleDbConnection(Connection_String)
conn.Open()
Dim dg As New System.Web.UI.WebControls.DataGrid()
Dim da As New OleDbDataAdapter(Query, conn)
Dim ds As DataSet
ds = New DataSet()

da.Fill(ds)
dg.DataSource = ds
dg.DataBind()

dg.Font.Name = "Verdana"
dg.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid
dg.HeaderStyle.BackColor = System.Drawing.Color.Blue
dg.HeaderStyle.ForeColor = System.Drawing.Color.White
dg.HeaderStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center
dg.HeaderStyle.Wrap = False
dg.HeaderStyle.Font.Bold = True

''context.Response.Buffer = True
''context.Response.ClearContent()
''context.Response.ClearHeaders()
''context.Response.ContentType = "application/vnd.ms-excel"
EnableViewState = True
Dim tw As New System.IO.StringWriter()
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
dg.RenderControl(hw)
Dim content As String
content = tw.ToString().Trim()

System.IO.Directory.CreateDirectory(Server.MapPath("upload"))

Dim filestream As New System.IO.FileStream(Server.MapPath("upload\test.csv"), IO.FileMode.Create)
Dim binwriter As New System.IO.BinaryWriter(filestream, Encoding.GetEncoding("UTF-8"))
binwriter.Write(content)
binwriter.Close()
filestream.Close()


da.Dispose()
da = Nothing
ds.Dispose()
ds = Nothing

conn.Close()
conn.Dispose()
conn = Nothing
End Sub
End Class

No comments: