vb导出数据到Excel

  • 格式:doc
  • 大小:25.00 KB
  • 文档页数:3

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

vb导出数据到Excel

Public Function ExporToExcel(strOpen As String) '入参为SQL查询语句

'********************************************************* '* 名称:ExporToExcel

'* 功能:导出数据到EXCEL

'* 用法:ExporToExcel(sql查询字符串)

'********************************************************* Dim Rs_Data As New ADODB.Recordset

Dim Irowcount As Integer

Dim Icolcount As Integer

Dim FILENAME As String

Dim xlApp As New Excel.Application

Dim xlBook As Excel.Workbook

Dim xlSheet As Excel.Worksheet

Dim xlQuery As Excel.QueryTable

With Rs_Data

If .State = adStateOpen Then

.Close

End If

.ActiveConnection = Cn

.CursorLocation = adUseClient

.CursorType = adOpenStatic

.LockType = adLockReadOnly

.Source = strOpen

.Open

End With

With Rs_Data

If .RecordCount < 1 Then

MsgBox ("没有记录!")

Exit Function

End If

'记录总数

Irowcount = .RecordCount

'字段总数

Icolcount = .Fields.Count

End With

Set xlApp = CreateObject("Excel.Application")

Set xlBook = Nothing

Set xlSheet = Nothing

Set xlBook = xlApp.Workbooks().Add

Set xlSheet = xlBook.Worksheets("sheet1")

xlApp.Visible = False 'Excel在后台运行

'添加查询语句,导入EXCEL数据

Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))

With xlQuery

.FieldNames = True

.RowNumbers = False

.FillAdjacentFormulas = False

.PreserveFormatting = True

.RefreshOnFileOpen = False

.BackgroundQuery = True

.RefreshStyle = xlInsertDeleteCells

.SavePassword = True

.SaveData = True

.AdjustColumnWidth = True

.RefreshPeriod = 0

.PreserveColumnInfo = True

End With

xlQuery.FieldNames = True '显示字段名

xlQuery.Refresh

With xlSheet

' .Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Nam e = "黑体"

'设标题为黑体字

.Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Bold = True

'标题字体加粗

.Range(.Cells(1, 1), .Cells(Irowcount + 1, Icolcount)).Borders.LineStyle = xlContinuous

'设表格边框样式

End With

With xlSheet.PageSetup

' .LeftHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10公司名称:" ' & Gsmc ' .LeftHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10统计时间:"

.CenterHeader = "&""楷体_GB2312,常规""库存明细&""宋体"

' .RightHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10单位:"

' .LeftFooter = "&""楷体_GB2312,常规""&10制表人:" & Ygxm

.CenterFooter = "&""楷体_GB2312,常规""&10制表日期:" & Date

.RightFooter = "&""楷体_GB2312,常规""&10第&P页共&N页"

End With

FILENAME = App.Path & "\" & Date & ".Xls"

xlBook.SaveAs (FILENAME) '保存文件

xlApp.Quit

Set xlApp = Nothing

' xlApp.Application.Visible = True

' Set xlApp = Nothing '"交还控制给Excel

' Set xlBook = Nothing

' Set xlSheet = Nothing

End Function