VB6.0的DATAGRID数据导出EXCEL

VB6.0的DATAGRID数据导出EXCEL中为什么只显示最后一页的数据?请高手指正,代码如下:
Private Sub Command5_Click()
Dim ex As ObjectDim i As IntegerDim j As IntegerDim XlApp As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetSet XlApp = CreateObject("Excel.Application")XlApp.Visible = TrueSet xlBook = XlApp.Workbooks.AddSet xlSheet = xlBook.Worksheets(1)
For i = 0 To DataGrid1.Columns.Count - 1For j = 1 To DataGrid1.ApproxCount - 1
DataGrid1.Col = iOn Error Resume NextDataGrid1.Row = jxlSheet.Cells(j + 1, i + 1) = DataGrid1.Columns.Item(i).TextNext jNext i
End Sub

outD.Filter = "BuckUP(*.xls)|*.xls"
outD.DialogTitle = "保存文件..."
outD.FileName = "S_Line_GE"
outD.ShowSave
Filepath = outD.FileName

If InStr(1, Filepath, "\") = 0 Then
MsgBox "没有选择文件"
Exit Sub
End If
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
' xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Add
xlApp.DisplayAlerts = False
xlBook.SaveAs Filepath '建立一个新的Excel文件
Dim a
dim Conn As ADODB.Connection
Set Conn = New ADODB.Connection
With Conn
.CursorLocation = adUseClient

.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=" & path & ";" & _
"DefaultDir=" & App.path & ";" & _
"UID=;PWD=;"
.Open

End With ‘建立一个数据库连接

Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
xlBook.Sheets(1).Name = "S_Line_GE"
Rs.Open "S_Line_GE", Conn, adOpenKeyset, adLockPessimistic
For i = 0 To Rs.Fields.Count - 1
xlBook.Sheets("S_Line_GE").Cells(1, i + 1) = Rs.Fields(i).Name
Next
xlBook.Sheets(2).Delete‘删除空表
xlBook.Sheets(2).Delete‘删除空表
Dim temp As String
temp = xlBook.path & "\S_Point_GE.xls"
xlBook.Save
xlApp.Quit ‘将库中的字段存入刚刚建立的Excel表中
Conn.Execute "insert into [excel 8.0;database=" & Filepath & "].[S_Line_GE$] select 回路编号,顶点序号,东坐标,北坐标,高程,回路电压,回路导线,里程,转角,方位角,控制区段,杆塔编号,杆塔型号 from S_Line_GE order by 回路编号,里程"
'将库中的数据导出到刚刚建立的表中。看上去多,但很容易理解!

MsgBox "保存文件成功!"
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-15
我一般都是从ado导出,现实adodc1.recordset.movefirst ,然后双循环,里面放个adodc1.recordset.movenext
for i=0 to adodc1.recordset.recordcount-1
相似回答