Private Sub cmdexcel_Click()
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Dim DataArray(1 To 500, 1 To 5) As Variant
Dim r As Integer
Dim NumberOfRows As Integer
NumberOfRows = Adodc1.Recordset.RecordCount
Adodc1.Recordset.MoveFirst
For r = 1 To NumberOfRows
DataArray(r, 1) = Adodc1.Recordset.Fields("name")
DataArray(r, 2) = Adodc1.Recordset.Fields("Date")
DataArray(r, 3) = Adodc1.Recordset.Fields("address")
DataArray(r, 4) = Adodc1.Recordset.Fields("Work")
DataArray(r, 5) = Adodc1.Recordset.Fields("Details")
Adodc1.Recordset.MoveNext
Next
Set oSheet = oBook.Worksheets(1)
oSheet.Range("A1:E1").Font.Bold = True
oSheet.Range("A1 :E1").Value = Array("ID", "Date", "address", "Work", "Details")
oSheet.Range("A2").Resize(NumberOfRows, 5).Value = DataArray
oBook.SaveAs "C:\Report.xls"
oExcel.Quit
Adodc1.Recordset.MoveFirst
MsgBox "Report File Saved", 64, "Info"
End Sub
Export from Datagrid to Excel
Page 1 of 19 Replies - 12643 Views - Last Post: 23 August 2012 - 09:17 AM
Replies To: Export from Datagrid to Excel
#2
Re: Export from Datagrid to Excel
Posted 28 January 2010 - 05:16 AM
so how can we help you do you get some errors. and that is not datagrid that is query from DB to excel
#3
Re: Export from Datagrid to Excel
Posted 28 January 2010 - 06:03 AM
lol funny , its just a post for datagrid to excel
#4
Re: Export from Datagrid to Excel
Posted 28 January 2010 - 08:56 AM
lol. 1 more time your not sending data grid to excel. your sending query from your Data Base to excel. next time post your code in tags like so
This post has been edited by NoBrain: 29 January 2010 - 06:18 AM
#5
Re: Export from Datagrid to Excel
Posted 14 October 2011 - 12:28 AM
ram11, on 27 January 2010 - 11:18 PM, said:
Private Sub cmdexcel_Click()
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Dim DataArray(1 To 500, 1 To 5) As Variant
Dim r As Integer
Dim NumberOfRows As Integer
NumberOfRows = Adodc1.Recordset.RecordCount
Adodc1.Recordset.MoveFirst
For r = 1 To NumberOfRows
DataArray(r, 1) = Adodc1.Recordset.Fields("name")
DataArray(r, 2) = Adodc1.Recordset.Fields("Date")
DataArray(r, 3) = Adodc1.Recordset.Fields("address")
DataArray(r, 4) = Adodc1.Recordset.Fields("Work")
DataArray(r, 5) = Adodc1.Recordset.Fields("Details")
Adodc1.Recordset.MoveNext
Next
Set oSheet = oBook.Worksheets(1)
oSheet.Range("A1:E1").Font.Bold = True
oSheet.Range("A1 :E1").Value = Array("ID", "Date", "address", "Work", "Details")
oSheet.Range("A2").Resize(NumberOfRows, 5).Value = DataArray
oBook.SaveAs "C:\Report.xls"
oExcel.Quit
Adodc1.Recordset.MoveFirst
MsgBox "Report File Saved", 64, "Info"
End Sub
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Dim DataArray(1 To 500, 1 To 5) As Variant
Dim r As Integer
Dim NumberOfRows As Integer
NumberOfRows = Adodc1.Recordset.RecordCount
Adodc1.Recordset.MoveFirst
For r = 1 To NumberOfRows
DataArray(r, 1) = Adodc1.Recordset.Fields("name")
DataArray(r, 2) = Adodc1.Recordset.Fields("Date")
DataArray(r, 3) = Adodc1.Recordset.Fields("address")
DataArray(r, 4) = Adodc1.Recordset.Fields("Work")
DataArray(r, 5) = Adodc1.Recordset.Fields("Details")
Adodc1.Recordset.MoveNext
Next
Set oSheet = oBook.Worksheets(1)
oSheet.Range("A1:E1").Font.Bold = True
oSheet.Range("A1 :E1").Value = Array("ID", "Date", "address", "Work", "Details")
oSheet.Range("A2").Resize(NumberOfRows, 5).Value = DataArray
oBook.SaveAs "C:\Report.xls"
oExcel.Quit
Adodc1.Recordset.MoveFirst
MsgBox "Report File Saved", 64, "Info"
End Sub
i want to use that code but it comes to error here
it says
Run-time error '91':
Object Variable or With block variable not set
-> NumberOfRows = Adodc1.Recordset.RecordCount
#6
Re: Export from Datagrid to Excel
Posted 14 October 2011 - 03:52 AM
The code is missing the part where it opens the database connection and queries the data, so you will get an error.
#7
Re: Export from Datagrid to Excel
Posted 18 November 2011 - 04:09 AM
I'm edit and make a new one below ;
Private Sub Command2_Click()
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Dim r, c As Integer
Dim NumberOfRows As Variant
Dim NumberOfColumns As Variant
Adodc1.Recordset.MoveFirst
NumberOfRows = Adodc1.Recordset.RecordCount
NumberOfColumns = Adodc1.Recordset.Fields.Count
Adodc1.Recordset.MoveFirst
Dim DataArray(1 To 500, 1 To 21) As Variant
Dim DataArray2(1 To 1, 1 To 21) As Variant
' 500 is estimate for number of record
' 21 is number of fields
'collect the name of fields into DataArray2
For c = 0 To NumberOfColumns - 1
DataArray2(1, c + 1) = Adodc1.Recordset.Fields.Item©.Name
Next
'collect data in each record into DataArray
For r = 1 To NumberOfRows
For c = 0 To NumberOfColumns - 1
DataArray(r, c + 1) = Adodc1.Recordset.Fields©
Next
Adodc1.Recordset.MoveNext
Next
Set oSheet = oBook.Worksheets(1)
oSheet.Range("A1:U1").Font.Bold = True ' a1:u1 = 21 columns ; related to number of fields
' input name of fields from DataArray2 to first row, or start at A1
oSheet.Range("A1").Resize(NumberOfRows, 21).Value = DataArray2
' input data record from DataArray to second row, or start at A2
oSheet.Range("A2").Resize(NumberOfRows, 21).Value = DataArray
oBook.SaveAs "C:\report.xls"
oExcel.Quit
Adodc1.Recordset.MoveFirst
MsgBox "file was save to C:\report.xls ", 64, "Confirm Data"
End Sub
---------
enjoy
hitman_asp@hotmail.com
Private Sub Command2_Click()
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Dim r, c As Integer
Dim NumberOfRows As Variant
Dim NumberOfColumns As Variant
Adodc1.Recordset.MoveFirst
NumberOfRows = Adodc1.Recordset.RecordCount
NumberOfColumns = Adodc1.Recordset.Fields.Count
Adodc1.Recordset.MoveFirst
Dim DataArray(1 To 500, 1 To 21) As Variant
Dim DataArray2(1 To 1, 1 To 21) As Variant
' 500 is estimate for number of record
' 21 is number of fields
'collect the name of fields into DataArray2
For c = 0 To NumberOfColumns - 1
DataArray2(1, c + 1) = Adodc1.Recordset.Fields.Item©.Name
Next
'collect data in each record into DataArray
For r = 1 To NumberOfRows
For c = 0 To NumberOfColumns - 1
DataArray(r, c + 1) = Adodc1.Recordset.Fields©
Next
Adodc1.Recordset.MoveNext
Next
Set oSheet = oBook.Worksheets(1)
oSheet.Range("A1:U1").Font.Bold = True ' a1:u1 = 21 columns ; related to number of fields
' input name of fields from DataArray2 to first row, or start at A1
oSheet.Range("A1").Resize(NumberOfRows, 21).Value = DataArray2
' input data record from DataArray to second row, or start at A2
oSheet.Range("A2").Resize(NumberOfRows, 21).Value = DataArray
oBook.SaveAs "C:\report.xls"
oExcel.Quit
Adodc1.Recordset.MoveFirst
MsgBox "file was save to C:\report.xls ", 64, "Confirm Data"
End Sub
---------
enjoy
hitman_asp@hotmail.com
#8
Re: Export from Datagrid to Excel
Posted 18 November 2011 - 04:14 AM
dbfman, on 18 November 2011 - 04:09 AM, said:
I'm edit and make a new one below ;
Private Sub Command2_Click()
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Dim r, c As Integer
Dim NumberOfRows As Variant
Dim NumberOfColumns As Variant
Adodc1.Recordset.MoveFirst
NumberOfRows = Adodc1.Recordset.RecordCount
NumberOfColumns = Adodc1.Recordset.Fields.Count
Adodc1.Recordset.MoveFirst
Dim DataArray(1 To 500, 1 To 21) As Variant
Dim DataArray2(1 To 1, 1 To 21) As Variant
' 500 is estimate for number of record
' 21 is number of fields
'collect the name of fields into DataArray2
For c = 0 To NumberOfColumns - 1
DataArray2(1, c + 1) = Adodc1.Recordset.Fields.Item©.Name
Next
'collect data in each record into DataArray
For r = 1 To NumberOfRows
For c = 0 To NumberOfColumns - 1
DataArray(r, c + 1) = Adodc1.Recordset.Fields©
Next
Adodc1.Recordset.MoveNext
Next
Set oSheet = oBook.Worksheets(1)
oSheet.Range("A1:U1").Font.Bold = True ' a1:u1 = 21 columns ; related to number of fields
' input name of fields from DataArray2 to first row, or start at A1
oSheet.Range("A1").Resize(NumberOfRows, 21).Value = DataArray2
' input data record from DataArray to second row, or start at A2
oSheet.Range("A2").Resize(NumberOfRows, 21).Value = DataArray
oBook.SaveAs "C:\report.xls"
oExcel.Quit
Adodc1.Recordset.MoveFirst
MsgBox "file was save to C:\report.xls ", 64, "Confirm Data"
End Sub
---------
enjoy
hitman_asp@hotmail.com
Private Sub Command2_Click()
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Dim r, c As Integer
Dim NumberOfRows As Variant
Dim NumberOfColumns As Variant
Adodc1.Recordset.MoveFirst
NumberOfRows = Adodc1.Recordset.RecordCount
NumberOfColumns = Adodc1.Recordset.Fields.Count
Adodc1.Recordset.MoveFirst
Dim DataArray(1 To 500, 1 To 21) As Variant
Dim DataArray2(1 To 1, 1 To 21) As Variant
' 500 is estimate for number of record
' 21 is number of fields
'collect the name of fields into DataArray2
For c = 0 To NumberOfColumns - 1
DataArray2(1, c + 1) = Adodc1.Recordset.Fields.Item©.Name
Next
'collect data in each record into DataArray
For r = 1 To NumberOfRows
For c = 0 To NumberOfColumns - 1
DataArray(r, c + 1) = Adodc1.Recordset.Fields©
Next
Adodc1.Recordset.MoveNext
Next
Set oSheet = oBook.Worksheets(1)
oSheet.Range("A1:U1").Font.Bold = True ' a1:u1 = 21 columns ; related to number of fields
' input name of fields from DataArray2 to first row, or start at A1
oSheet.Range("A1").Resize(NumberOfRows, 21).Value = DataArray2
' input data record from DataArray to second row, or start at A2
oSheet.Range("A2").Resize(NumberOfRows, 21).Value = DataArray
oBook.SaveAs "C:\report.xls"
oExcel.Quit
Adodc1.Recordset.MoveFirst
MsgBox "file was save to C:\report.xls ", 64, "Confirm Data"
End Sub
---------
enjoy
hitman_asp@hotmail.com
some problem in html code
if you see © in my code that means ( c )
then I show you belw
For c = 0 To NumberOfColumns - 1
DataArray2(1, c + 1) = Adodc1.Recordset.Fields.Item( c ).Name
Next
For r = 1 To NumberOfRows
For c = 0 To NumberOfColumns - 1
DataArray(r, c + 1) = Adodc1.Recordset.Fields( c )
#9
Re: Export from Datagrid to Excel
Posted 23 August 2012 - 09:09 AM
hi, am trying to get data displayed on datagridview to an excel document using vb6 but keep getting the error message: Object Variable or With Block Variable Not Set
My code:
My code:
Private Sub cmdExport_Click()
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Dim r, c As Integer
Dim NumberOfRows As Variant
Dim NumberOfColumns As Variant
'Adodc1.RecordSource = "SELECT * FROM wrong_data where Affiliate = '" & Trim(Combo1.Text) & "' "
Adodc1.Recordset.MoveFirst
NumberOfRows = Adodc1.Recordset.RecordCount
NumberOfColumns = Adodc1.Recordset.Fields.Count
Adodc1.Recordset.MoveFirst
Dim DataArray(1 To 500, 1 To 21) As Variant
Dim DataArray2(1 To 1, 1 To 21) As Variant
' 500 is estimate for number of record
' 21 is number of fields
'collect the name of fields into DataArray2
For c = 0 To NumberOfColumns - 1
DataArray2(1, c + 1) = Adodc1.Recordset.Fields.Item(c).Name
Next
'collect data in each record into DataArray
For r = 1 To NumberOfRows
For c = 0 To NumberOfColumns - 1
DataArray(r, c + 1) = Adodc1.Recordset.Fields(c)
Next
Adodc1.Recordset.MoveNext
Next
Set oSheet = oBook.Worksheets(1)
oSheet.Range("A1:U1").Font.Bold = True ' a1:u1 = 21 columns ; related to number of fields
' input name of fields from DataArray2 to first row, or start at A1
oSheet.Range("A1").Resize(NumberOfRows, 21).Value = DataArray2
' input data record from DataArray to second row, or start at A2
oSheet.Range("A2").Resize(NumberOfRows, 21).Value = DataArray
oBook.SaveAs "C:\report.xls"
oExcel.Quit
Adodc1.Recordset.MoveFirst
MsgBox "file was save to C:\report.xls ", 64, "Confirm Data"
End Sub
#10
Re: Export from Datagrid to Excel
Posted 23 August 2012 - 09:17 AM
The error normally comeup on this line:
'Adodc1.RecordSource = "SELECT * FROM wrong_data where Affiliate = '" & Trim(Combo1.Text) & "' " Adodc1.Recordset.MoveFirst
Page 1 of 1
|
|

New Topic/Question
Reply



MultiQuote





|