vb6导出excel加速

转载 2015年07月10日 14:49:02

'*********************************************************
'* 名称:ExporToExcel'* 功能:导出数据到EXCEL'* 用法:ExporToExcel(sql查询字符串)
'*********************************************************

Public Function ExporToExcel(strOpen As String)


Dim Rs_Data As New ADODB.Recordset
Dim Irowcount As Integer
Dim Icolcount As Integer
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 = adoConn
    .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 = True        '添加查询语句,导入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.Name = "黑体"        '设标题为黑体字
    .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
    .CenterHeader = "&""楷体_GB2312,常规""公司人员情况表&""宋体,常规""" & Chr(10) & "&""楷体_GB2312,常规""&10日 期:"
    .RightHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10单位:"
    .LeftFooter = "&""楷体_GB2312,常规""&10制表人:"
    .CenterFooter = "&""楷体_GB2312,常规""&10制表日期:"
    .RightFooter = "&""楷体_GB2312,常规""&10第&P页 共&N页"
End With

xlApp.Application.Visible = True
Set xlApp = Nothing  '"交还控制给Excel
Set xlBook = Nothing
Set xlSheet = Nothing

End Function

VB.NET_从DataGridview中导出EXCEL(2.效率)

'我是一个有强迫症的人,时间允许我一定会让代码的执行效率达到我力所能及的最优最简最统一化——比如一个判断条件是与表达式,我会将最有可能为假的原子表达式放到最前面,所有表达式按照这样的顺序(如果我确定编...

SQL 取前一天、一月、一年的时间

SELECT DATEADD(DAY,-1,'20121212') SELECT DATEADD(DAY,-1,GETDATE()) SELECT DATEADD(MONTH,-1,'2012...
  • mfkpie
  • mfkpie
  • 2015年07月06日 12:32
  • 14023

VB当中的颜色代码

颜色常数颜色常数 值 描述 vbBlack &H0 黑色 vbRed &HFF 红色 vbGreen &HFF00 绿色 vbYellow &HFFFF 黄色 vbBlue &HFF0000 兰色 v...
  • ntwwh
  • ntwwh
  • 2009年05月29日 16:24
  • 9628

VB6操作EXCEL导入数据库

VB6操作EXCEL导入导出数据库
  • qshpeng
  • qshpeng
  • 2011年05月14日 20:40
  • 6097

用VB6操作Excel方法

  • 2015年08月20日 15:13
  • 42KB
  • 下载

VB6实现简单的扫雷小游戏

VB实现简单的扫雷小游戏扫雷这个小游戏可谓是简单又好玩,百万不腻,不知道有没有小伙伴跟博主一样脑热的曾经扫过一整个屏幕的雷。。。今天呢,博主在这里总结一下自己做扫雷小游戏的主要过程以及主要思路,当然实...

VB6做的EXCEL内容比较

  • 2009年12月02日 14:49
  • 35KB
  • 下载

VB6提取文本数据,生成EXCEL

  • 2014年08月25日 16:24
  • 75KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vb6导出excel加速
举报原因:
原因补充:

(最多只允许输入30个字)