看看是否有帮助 '导出表格到EXCEL Public Function IntoEXCEL(ByVal rptName As String, ByRef VS As VSFlexGrid, ByVal FilePath As String) As Boolean If FilePath = "" Then MsgBox "文件名不能为空,请选择正确的文件!", vbOKOnly + vbCritical, "错误" IntoEXCEL = False Exit Function End If Screen.MousePointer = vbHourglass Dim ws As Workspace Dim db As DAO.Database Dim rs As DAO.Recordset Dim tb As DAO.TableDef Dim fd As DAO.Field
Dim i As Long Dim j As Long Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(FilePath, 0, 0, "Excel 8.0;") Set tb = db.CreateTableDef(rptName) For i = 0 To VS.Cols - 1 If VS.ColHidden(i) = False Then Set fd = tb.CreateField("C" & i, dbText, 100) tb.Fields.Append fd End If Next db.TableDefs.Append tb Set rs = db.OpenRecordset(rptName) If VS.Rows > 1 Then For i = 0 To VS.Rows - 1 If VS.RowHidden(i) = False Then rs.AddNew For j = 0 To VS.Cols - 1 If VS.ColHidden(j) = False Then rs.Fields("C" & j) = VS.TextMatrix(i, j) Next rs.Update End If Next End If rs.Close Set rs = Nothing db.Close Set db = Nothing ws.Close Set ws = Nothing Screen.MousePointer = vbDefault MsgBox "导出完毕", vbInformation + vbOKOnly, "导出" 'If FilePath = "" Then ' MsgBox "文件名不能为空,请选择正确的文件!", vbOKOnly + vbCritical, "错误" ' IntoEXCEL = False ' Exit Function ' End If ' ' Screen.MousePointer = vbHourglass ' ' Dim ws As Workspace ' Dim db As DAO.Database ' Dim rs As DAO.Recordset ' Dim tb As DAO.TableDef ' Dim fd As DAO.Field ' Dim i As Integer ' Dim j As Integer ' ' Set ws = DBEngine.Workspaces(0) ' Set db = ws.OpenDatabase(FilePath, 0, 0, "Excel 8.0;") ' Set tb = db.CreateTableDef(rptName) ' For i = 0 To VS.Cols - 1 ' If VS.ColHidden(i) = False Then ' Set fd = tb.CreateField("C" & i, dbText, 100) ' tb.Fields.Append fd ' End If ' Next ' db.TableDefs.Append tb ' Set rs = db.OpenRecordset(rptName) ' If VS.Rows > 1 Then ' For i = 0 To VS.Rows - 1 ' If VS.RowHidden(i) = False Then ' rs.AddNew ' For j = 0 To VS.Cols - 1 ' If VS.ColHidden(j) = False Then rs.Fields("C" & j) = VS.TextMatrix(i, j) ' Next ' rs.Update ' End If ' Next ' End If ' rs.Close ' Set rs = Nothing ' db.Close ' Set db = Nothing ' ws.Close ' Set ws = Nothing ' ' Screen.MousePointer = vbDefault ' MsgBox "导出完毕", vbInformation + vbOKOnly, "导出" End Function
'导出表格到EXCEL
Public Function IntoEXCEL(ByVal rptName As String, ByRef VS As VSFlexGrid, ByVal FilePath As String) As Boolean
If FilePath = "" Then
MsgBox "文件名不能为空,请选择正确的文件!", vbOKOnly + vbCritical, "错误"
IntoEXCEL = False
Exit Function
End If Screen.MousePointer = vbHourglass Dim ws As Workspace
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim tb As DAO.TableDef
Dim fd As DAO.Field
Dim i As Long
Dim j As Long Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(FilePath, 0, 0, "Excel 8.0;")
Set tb = db.CreateTableDef(rptName)
For i = 0 To VS.Cols - 1
If VS.ColHidden(i) = False Then
Set fd = tb.CreateField("C" & i, dbText, 100)
tb.Fields.Append fd
End If
Next
db.TableDefs.Append tb
Set rs = db.OpenRecordset(rptName)
If VS.Rows > 1 Then
For i = 0 To VS.Rows - 1
If VS.RowHidden(i) = False Then
rs.AddNew
For j = 0 To VS.Cols - 1
If VS.ColHidden(j) = False Then rs.Fields("C" & j) = VS.TextMatrix(i, j)
Next
rs.Update
End If
Next
End If
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
ws.Close
Set ws = Nothing Screen.MousePointer = vbDefault
MsgBox "导出完毕", vbInformation + vbOKOnly, "导出"
'If FilePath = "" Then
' MsgBox "文件名不能为空,请选择正确的文件!", vbOKOnly + vbCritical, "错误"
' IntoEXCEL = False
' Exit Function
' End If
'
' Screen.MousePointer = vbHourglass
'
' Dim ws As Workspace
' Dim db As DAO.Database
' Dim rs As DAO.Recordset
' Dim tb As DAO.TableDef
' Dim fd As DAO.Field
' Dim i As Integer
' Dim j As Integer
'
' Set ws = DBEngine.Workspaces(0)
' Set db = ws.OpenDatabase(FilePath, 0, 0, "Excel 8.0;")
' Set tb = db.CreateTableDef(rptName)
' For i = 0 To VS.Cols - 1
' If VS.ColHidden(i) = False Then
' Set fd = tb.CreateField("C" & i, dbText, 100)
' tb.Fields.Append fd
' End If
' Next
' db.TableDefs.Append tb
' Set rs = db.OpenRecordset(rptName)
' If VS.Rows > 1 Then
' For i = 0 To VS.Rows - 1
' If VS.RowHidden(i) = False Then
' rs.AddNew
' For j = 0 To VS.Cols - 1
' If VS.ColHidden(j) = False Then rs.Fields("C" & j) = VS.TextMatrix(i, j)
' Next
' rs.Update
' End If
' Next
' End If
' rs.Close
' Set rs = Nothing
' db.Close
' Set db = Nothing
' ws.Close
' Set ws = Nothing
'
' Screen.MousePointer = vbDefault
' MsgBox "导出完毕", vbInformation + vbOKOnly, "导出"
End Function
多谢AKillGodKillBuddha(神挡杀神 佛挡杀佛).