469,133 Members | 1,179 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,133 developers. It's quick & easy.

Exporting datagrid to excel

Hi , I have the following code to export a datagrid to excel

Public Sub ExportToExcel(ByVal dt As DataTable)
Try
Dim oApp As New Excel.Application
Dim oBook As Excel.Workbook = oApp.Workbooks.Add
Dim oSheet As Excel.Worksheet = CType(oBook.Worksheets(1),
Excel.Worksheet)

oApp.Visible = False

With oSheet
Dim c As Long = Asc("A")
For Each dc As DataColumn In dt.Columns
.Range(C hr(c) & "1").Value =
dc.ColumnName.ToString
.Range(C hr(c) & "1").Font.Bold = True
c += 1
Next

Dim i As Long = 2
For Each dr As DataRow In dt.Rows
c = Asc("A")
For Each dc As DataColumn In dt.Columns
.Range(C hr(c) & i.ToString).Value =
dr.Item(dc.ColumnName)
c += 1
Next
i += 1
Next

oApp.Visible = True
End With
Catch ex As Exception
MessageBox.Show("Source [" & ex.Source & "] Description
[" & ex.Message & "]")
End Try
End Sub

However the code doesnt work , the following are the errors

Error 3 Property 'Range' is 'ReadOnly'.
Error 4 Comma, ')', or a valid expression continuation expected -- for
hr

can someone help me out with this code , or suggest an alternative way
of exporting a datagrid to excel or sql.

this code is called as follows:

ExportToExcel(DataGrid1.DataSource)

Thanks

Jul 24 '07 #1
0 1126

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Hideyuki | last post: by
reply views Thread by Amber | last post: by
5 posts views Thread by Neil | last post: by
1 post views Thread by Mustufa Baig | last post: by
7 posts views Thread by Stephen Noronha | last post: by
6 posts views Thread by Opa | last post: by
4 posts views Thread by Tom | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by zhoujie | last post: by
1 post views Thread by Mortomer39 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.