Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
On Error Resume Next
If Err.Number <> 0 Then Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.ActiveSheet
For k = 1 To DataGrid1.Columns.Count
xlSheet.Cells(1, k) = DataGrid1.Columns(k - 1).Caption
Next k
For i = 1 To Adodc1.Recordset.RecordCount + 1
For j = 0 To DataGrid1.Columns.Count
xlSheet.Cells(i + 1, j + 1) = Adodc1.Recordset(j) '
Next j
Adodc1.Recordset.MoveNext
Next i各位,我用以上代码,在数据写入EXCEL的表格是会出现空数据现象,有时则完全写入!
出现的错误就像下面的例子一样,这种情况会在导出大量数据时出现,请问如何解决?
例:
ID 姓名 性别
123 xxx b
333 v
321
569 ggg g
xlApp.Visible = True
On Error Resume Next
If Err.Number <> 0 Then Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.ActiveSheet
For k = 1 To DataGrid1.Columns.Count
xlSheet.Cells(1, k) = DataGrid1.Columns(k - 1).Caption
Next k
For i = 1 To Adodc1.Recordset.RecordCount + 1
For j = 0 To DataGrid1.Columns.Count
xlSheet.Cells(i + 1, j + 1) = Adodc1.Recordset(j) '
Next j
Adodc1.Recordset.MoveNext
Next i各位,我用以上代码,在数据写入EXCEL的表格是会出现空数据现象,有时则完全写入!
出现的错误就像下面的例子一样,这种情况会在导出大量数据时出现,请问如何解决?
例:
ID 姓名 性别
123 xxx b
333 v
321
569 ggg g
Call MDB2Excel("c:\bwscale.mdb", "bwcust", "c:\kkk.xls") '改为你自己的库名与表名
MsgBox "保存OK"
End SubPublic Sub MDB2Excel(Mdbnm As String, MdbTable As String, Excelnm As String)
On Error Resume Next
Set acApp = GetObject(Mdbnm, "Access.Application")
acApp.DoCmd.OutputTo acOutputTable, MdbTable, "Microsoft Excel (*.xls)", Excelnm
acApp.CloseCurrentDatabase
Set acApp = Nothing
End Sub
if not (Adodc1.Recordset.EOF and Adodc1.Recordset.BOF) then
Adodc1.Recordset.MoveLast
Adodc1.Recordset.MoveFirst
end if
Adodc1.Recordset.MoveLast
Adodc1.Recordset.MoveFirst
end if
加了也同样出现上面的问题
'适用与 EXCEL 2000 及以上
xlSheet.Cells(2, 1).CopyFromRecordset Adodc1.Recordset
而代码不能将排序后的结果显示出来!我是使用按DATAGRID的表头进行排序!
方案2:输出后用Excel自带的排序功能,对数据区按照DATAGRID的表头进行排序。
该列内容的降序列排列!