【机房收费系统——导入Excel】

         在机房收费系统中vb与EXCEL的交换应该算是一个新的知识,之前我们在做学生的时候没有接触过,但是这个EXCEL的导出相对上一篇的报表而言那应该是很简单的了。在此篇博客中将介绍两种方法进行EXCEL的导出。

   准备:

       我们要想让vb与EXCEL交互成功,我们必须保证电脑上面已经安装office,再就是我们需要做的一件事情就是:工程——属性——Microsoft Excel 14.0 Object Library.

  方法一:

       通常是我们大家都非常喜欢的一种就是,那个窗体需要,我就在那个窗体编写代码,在第二个窗体需要的时候我们就直接复制  粘贴过去,看到满满的一整个窗体的代码感觉很自豪(我也是这么做的但是被师傅指点了),下面介绍这种方法的代码:

   

    Dim xlsapp As Excel.Application
    Dim xlsbook As Excel.Workbook
    Dim xlssheet As Excel.Worksheet
    Dim i, j As Long
    Dim mrc As ADODB.Recordset
    Dim txtSQL As String
    Dim MsgText As String
    
    Set xlsapp = CreateObject("excel.application")  '调用execel程序
    Set xlsbook = xlsapp.Workbooks.Add          '添加工作簿
    Set xlssheet = xlsbook.Worksheets(1)        '添加工作单元
    
    With xlsapp
                .Rows(1).Font.Bold = True       '表格中字体样式
        End With
        
        On Error Resume Next
                                '把MSHFlexgrid的内容写入到电子表格中
    For i = 0 To MyFlexGrid.Rows
        For j = 0 To MyFlexGrid.Cols
        xlssheet.Cells(i + 1, j + 1) = "'" & MyFlexGrid.TextMatrix(i, j)
    Next
    Next
    
    xlsapp.Visible = True  '显示电子表格
    
    Set xlsapp = Nothing       '交还控制给Excel
    
   方法二:

     当我们有很多窗体中都需要这个功能的时候,我们不能忘了模块的功能,不能重复的复制很多相同的代码,那样显得我们的代码没有技术含量,这样就需要我们在模块中编写一个函数——功能为导出Excel,这样我们需要的时候直接调用就可以了,下面我来接单介绍一下这个函数的代码的编写过程:

                    '导出Excel
    Public Sub toexcel(grid1 As MSHFlexGrid)
    Dim i, j As Integer
    Dim xl As Object
    Dim xlwbook As Object
    Dim xlsheet As Object
    
    Set xl = CreateObject("excel.application")
    Set xlbook = xl.Workbooks.Add
    xl.Visible = True
    Set exsheet = xlbook.Worksheets("sheet1")

    For i = 1 To grid1.Rows
        For j = 1 To grid1.Cols
            xlsheet.Cells(i, j) = grid1.TextMatrix(1 - 1, j - 1)

        Next j
    Next i

    End Sub
  当我们需要的时候直接 call (myflexgrid) 来实现,就不用大量的重复代码。通过这两种方法,相信读者们会很轻松的把这个功能搞定!

你可能感兴趣的:(数据库,vb)