Access 在VBA中实现数据导出到Excel
2014-02-26 22:55
411 查看
http://hi.baidu.com/ohmyidea/item/e2bf6819735b6a34b93180cc
1.添加引用Microsoft Excel 11.0 Object Library。(这里用的是Microsoft Excel 2003)
2.定义获取数据集通用函数。
Public Function GetRS(ByVal strQuery As String) As ADODB.Recordset
Dim rs As New ADODB.Recordset
Dim conn As New ADODB.Connection
On Error GoTo GetRS_Error
Set conn = CurrentProject.Connection
rs.Open Trim$(strQuery), conn, adOpenKeyset, adLockOptimistic
Set GetRS = rs
GetRS_Exit:
Set rs = Nothing
Set conn = Nothing
Exit Function
GetRS_Error:
MsgBox Err.Description
Resume GetRS_Exit
End Function
3.导出Excel代码。
Private Sub btnOutToExcel_Click()
Dim row As Integer
Dim col As Integer
Dim rs As New ADODB.Recordset
Dim ExcelApp As Excel.Application
Dim ExcelWst As Worksheet
Set rs = GetRS("SELECT * FROM PInfo") '获取数据集
Set ExcelApp = New Excel.Application
Set ExcelWst = ExcelApp.Workbooks.Add.Worksheets(1)
'导出字段名称
For col = 0 To rs.Fields.Count - 1
ExcelWst.Cells(1, col + 1) = rs.Fields(col).Name
Next col
'导出数据
row = 2
Do While Not rs.EOF
For col = 0 To rs.Fields.Count - 1
ExcelWst.Cells(row, col + 1) = rs.Fields(col)
Next col
row = row + 1
rs.MoveNext
Loop
rs.Close
ExcelWst.Columns.AutoFit '设置列宽
ExcelApp.Visible = True
End Sub
1.添加引用Microsoft Excel 11.0 Object Library。(这里用的是Microsoft Excel 2003)
2.定义获取数据集通用函数。
Public Function GetRS(ByVal strQuery As String) As ADODB.Recordset
Dim rs As New ADODB.Recordset
Dim conn As New ADODB.Connection
On Error GoTo GetRS_Error
Set conn = CurrentProject.Connection
rs.Open Trim$(strQuery), conn, adOpenKeyset, adLockOptimistic
Set GetRS = rs
GetRS_Exit:
Set rs = Nothing
Set conn = Nothing
Exit Function
GetRS_Error:
MsgBox Err.Description
Resume GetRS_Exit
End Function
3.导出Excel代码。
Private Sub btnOutToExcel_Click()
Dim row As Integer
Dim col As Integer
Dim rs As New ADODB.Recordset
Dim ExcelApp As Excel.Application
Dim ExcelWst As Worksheet
Set rs = GetRS("SELECT * FROM PInfo") '获取数据集
Set ExcelApp = New Excel.Application
Set ExcelWst = ExcelApp.Workbooks.Add.Worksheets(1)
'导出字段名称
For col = 0 To rs.Fields.Count - 1
ExcelWst.Cells(1, col + 1) = rs.Fields(col).Name
Next col
'导出数据
row = 2
Do While Not rs.EOF
For col = 0 To rs.Fields.Count - 1
ExcelWst.Cells(row, col + 1) = rs.Fields(col)
Next col
row = row + 1
rs.MoveNext
Loop
rs.Close
ExcelWst.Columns.AutoFit '设置列宽
ExcelApp.Visible = True
End Sub
相关文章推荐
- 轻松实现SQL Server与Access、Excel数据表间的导入导出
- 轻松实现SQL Server与Access、Excel数据表间的导入导出
- 轻松实现SQL Server与Access、Excel数据表间的导入导出 【转载】
- C#执行access中VBA,用VBA导出access表中数据到Excel中
- 轻松实现SQL Server与Access、Excel数据表间的导入导出
- 轻松实现SQL Server与Access、Excel数据表间的导入导出
- 轻松实现SQL Server与Access、Excel数据表间的导入导出
- 轻松实现SQL Server与Access、Excel数据表间的导入导出
- 轻松实现SQL Server与Access、Excel数据表间的导入导出
- Access中一句查询代码实现Excel数据导入导出
- 实现SQL Server与Access、Excel数据表间的导入导出
- 轻松实现SQL Server与Access、Excel数据表间的导入导出
- 轻松实现SQL Server与Access、Excel数据表间的导入导出
- JSP从数据库导出数据到Excel下载的实现
- Django+python实现网页数据的excel导出
- Java实现指定数据表导出生成Excel
- 使用phpExcel实现Excel数据的导入导出(完全步骤)
- 在VBA中实现两个ACCESS数据库之间的数据导出与导入
- js实现导出数据到excel
- 精妙的SQL和SQL SERVER 与ACCESS、EXCEL的数据导入导出转换