zoukankan      html  css  js  c++  java
  • 轉:VB6中将数据导出到Excel提速之法

    from : http://www.it86.cc/develop/2008/0410/28928.shtml

    Excel 是一个非常优秀的报表制作软件,用VBA可以控制其生成优秀的报表,本文通过添加查询语句的方法,即用Excel中的获取外部数据的功能将数据很快地从一个查询语句中捕获到EXCEL中,比起往每个CELL里写数据的方法提高许多倍。

    在程序中引用Microsoft Excel 9.0 Object Library,将下文加入到一个模块中,窗体中调用如下ExporToExcel("select * from table")。则实现快速将数据导出到EXCEL中。

    '*********************************************************
    '* 名称: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 = 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 = 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(11), .Cells(1, Icolcount)).Font.Name = "黑体"
            
    '设标题为黑体字
            .Range(.Cells(11), .Cells(1, Icolcount)).Font.Bold = True
            
    '标题字体加粗
            .Range(.Cells(11), .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
    ''注::在程序中引用'Microsoft Excel 9.0 Object Library'和ADO对象,机器必装Excel 2000本程序在Windows 98/2000,VB 6 下运行通过。

    QueryTables

    excel querytables

    如何使用 Visual Basic .NET 向 Excel 工作簿传输数据

    C#导出Excel源码

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    快速免费用宝塔面板加开源小程序商城源码搭建自己的商城程序
    小程序商城,到底是购买源码好还是直接使用SaaS平台好?
    51单片机串口通信的注记
    关于vi 分屏的一些指令
    偶遇bash 的while read line 的问题
    centos 6 设置无密码登录ssh 不成功问题
    关于js框架 dwz 与 yii的的分页 以及筛选的结合
    完美解决百度地图MarkerClusterer 移动地图时,Marker 的Label 丢失的问题
    微信小程序购物商城系统开发系列-目录结构
    微信小程序支付步骤
  • 原文地址:https://www.cnblogs.com/Athrun/p/1507016.html
Copyright © 2011-2022 走看看