机房收费系统之导出Excel

        刚开始接触机房收费的时候,连上数据库,配置ODBC,登陆进去,那窗体叫一个多,不由地有种害怕的感觉,但是有人说,每天努力一点点,就会进步一点点,不会的就会少一点点,会的就会多一点点........

        在看似杂乱无章的各个窗体都相互独立,其实,他们之间有着千丝万缕的关系,剪不断,理还乱。在机房收费系统中,有多处用到导出Excel表格,就这个问题做一个简单的总结。

        第一种方法

         打开VB-工程-应用-勾选Microsoft  Excel 14.0 Objexts 2.6 Library

        机房收费系统之导出Excel

      编写代码如下:

Private Sub CmdExport_Click()
    Dim j As Integer
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
    Set xlApp = CreateObject("Excel.Application")   '实例化对象xlApp
        xlApp.Visible = True
    Set xlBook = xlApp.Workbooks.Add
    Set xlSheet = xlBook.Worksheets(1)
    For i = 0 To myflexgrid.Rows - 1
        For j = 0 To myflexgrid.Cols - 1
           myflexgrid.Row = i
           myflexgrid.Col = j
           xlSheet.Cells(i + 1, j + 1) = Trim(myflexgrid.Text)
        Next
    Next
End Sub

      第二种方法

       在根目录中提前建立好空的Excel表格,这个表格所存放的目录应当和你的VB工程同属于一个目录,然后就是核心部分了,编写代码:

       

Private Sub cmdExport_Click()
    Dim i As Integer
    Dim j As Integer
    myFlexGrid.Redraw = False
    Set xlApp = CreateObject("Excel.Application")                       '创建EXCEL对象
    Set xlBook = xlApp.Workbooks.Open(App.Path & "\学生上机记录.xls")   '打开已经存在的EXCEL工件簿文件
    xlApp.Visible = True                                                '设置EXCEL对象可见
    Set xlSheet = xlBook.Worksheets("Sheet1")                           '设置活动工作表
  
     For i = 0 To myFlexGrid.Rows - 1                                   '行循环
            For j = 0 To myFlexGrid.Cols - 1                            '列循环
             myFlexGrid.Row = i
             myFlexGrid.Col = j
                                                                        '保存到EXCEL                                                                  
    Next i
    myFlexGrid.Redraw = True
End Sub
      上述两种方法都可以实现导出Excel表格的功能,我们通常都选择第一种方法,第一种方法更加方便灵活,第二种方法,对于导出Excel表格较少的情况下还使用,如果需要导出的表格有几千张,几万张, 操作就不太方便了。

        


       

  

上一篇:Java SE 6之GUI:让界面更加绚丽(上)


下一篇:Aliyun Serverless VSCode Extension 发布 v1.2.0