Public Class cmpDataGridToExcel
  Inherits System.ComponentModel.Component

Public Shared Sub DataGridToExcel(ByVal dgExport As DataGrid, ByVal response As HttpResponse)
  
'clean up the response.object
  response.Clear()
  response.Charset = ""
  
'set the response mime type for excel
  response.ContentType = "application/vnd.ms-excel"
  
'create a string writer
  Dim stringWrite As New System.IO.StringWriter()
  
'create an htmltextwriter which uses the stringwriter
  Dim htmlWrite As New System.Web.UI.HtmlTextWriter(stringWrite)

  
'instantiate a datagrid
  Dim dg As New DataGrid()
  
' just set the input datagrid = to the new dg grid
  dg = dgExport

  
' I want to make sure there are no annoying gridlines
  dg.GridLines = GridLines.None
  
' Make the header text bold
  dg.HeaderStyle.Font.Bold = True

  
' If needed, here's how to change colors/formatting at the component level
  
'dg.HeaderStyle.ForeColor = System.Drawing.Color.Black
  
'dg.ItemStyle.ForeColor = System.Drawing.Color.Black

  
'bind the modified datagrid
  dg.DataBind()
  
'tell the datagrid to render itself to our htmltextwriter
  dg.RenderControl(htmlWrite)
  
'output the html
  response.Write(stringWrite.ToString)
  response.End()
End Sub

End Class




0 comments: