使用vb将查询结果导出为excel文件

'将查询信息导出为excel文件
'输出
'输入:param1 string database名字
      '      param2 string sql语句
Public Sub SaveAsExcel(database As String, strSql As String)
Dim rs As New ADODB.Recordset
Dim objExcel As New Excel.Application
Dim objBook As New Excel.Workbook
Dim objSheet As New Excel.Worksheet
Dim rowCount As Long
Dim colCount As Integer
Dim j As Integer
Dim i As Integer

Set objExcel = CreateObject("Excel.Application")
Set objBook = objExcel.Workbooks.Add
On Error GoTo Error1:
Set objSheet = objBook.Worksheets.Add

Set rs = GetData(strSql, database)
colCount = rs.Fields.Count
rowCount = rs.RecordCount
For i = 0 To colCount - 1
objSheet.Cells(1, i + 1) = rs.Fields(i).Name + Chr(13)
Next

For j = 2 To rowCount + 1
For i = 0 To colCount - 1
objSheet.Cells(j, i + 1) = CStr(rs.Fields(i))
'+ Chr(10)
Next
rs.MoveNext
Next

objBook.SaveAs (App.Path + "/data.xls")
Set rs = Nothing
objBook.Close
objExcel.Quit
Set objExcel = Nothing
MsgBox "数据已经全部导出"
Exit Sub
Error1:
MsgBox Error
objBook.Close
objExcel.Quit
Set objExcel = Nothing
End Sub

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB中将DataGrid导出Excel,可以使用以下步骤: 1. 引用Microsoft Excel Object Library,在VB中打开项目-》工程-》引用,在弹出的对话框中找到并勾选Microsoft Excel Object Library。 2. 在VB中新建一个Excel工作簿: Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets(1) 3. 在Excel中创建表头: For i = 0 To DataGrid1.Columns.Count - 1 xlSheet.Cells(1, i + 1).Value = DataGrid1.Columns(i).HeaderText Next 4. 将DataGrid中的数据写入Excel中: For i = 0 To DataGrid1.RowCount - 1 For j = 0 To DataGrid1.Columns.Count - 1 xlSheet.Cells(i + 2, j + 1).Value = DataGrid1.Item(j, i).Value Next Next 5. 保存Excel文件: xlBook.SaveAs "C:\Temp\Export.xls" 6. 释放Excel对象: xlBook.Close xlApp.Quit Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing 完整代码示例: Private Sub btnExport_Click() Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim i As Integer, j As Integer Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets(1) For i = 0 To DataGrid1.Columns.Count - 1 xlSheet.Cells(1, i + 1).Value = DataGrid1.Columns(i).HeaderText Next For i = 0 To DataGrid1.RowCount - 1 For j = 0 To DataGrid1.Columns.Count - 1 xlSheet.Cells(i + 2, j + 1).Value = DataGrid1.Item(j, i).Value Next Next xlBook.SaveAs "C:\Temp\Export.xls" xlBook.Close xlApp.Quit Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing MsgBox "导出成功!" End Sub

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值