机房收费系统问题总结——导出Excel

       我们在机房收费系统中,很多窗体都用到了导出Excel表格,现在我来说说我遇到的问题。

 1:无引用,也就是vb中没有Microsoft Excel 15.0 object library
            机房收费系统问题总结——导出Excel_第1张图片   
    这时候我们就要想我们有office吗?假如没有那就快点安装一个吧。vb是只和微软出来的office交互的,和wps是不交互的。
    假如你安装的是2013版的office,千万记得激活,要不然后面的问题真的是不断啊。而且要卸载wps,假如不卸载应该到时候运行的时候就会提示这个错误:
    
      (1)由于部件忙,不能完成该操作,选择切换到“按钮激活部件”
      (2) 机房收费系统问题总结——导出Excel_第2张图片
            机房收费系统问题总结——导出Excel_第3张图片
    所以果断卸载比较好。。。。。
    正确安装好了office后,再看一下工程里面的引用,看看是不是有Microsoft Excel 15.0 object library,假如没有的话,直接点击右面的“浏览”,接下来就会弹出下面的窗体了。
          机房收费系统问题总结——导出Excel_第4张图片
     接下来就是选择它的范围啦,我们要查找的是实体,不是快键方式,我们要去安装它的位置去找,我是在E盘安装的,所以就在E盘里面找到的,找起来比较麻烦,大家找的时候耐心点滴。

2:代码
    代码是在网上搜的,搜了好几篇,自己理解一下,然后敲上
    无论是那一种方法,都需要添加引用的,所以先把勾给画上啊。
  (1)
Private Sub CmdExcel_Click()
    Dim app As Excel.Application
    Dim book As Excel.Workbook
    Dim sheet As Excel.Worksheet
    
    Set app = New Excel.Application
    Set book = app.Workbooks.Add
    Set sheet = book.Worksheets.Add
    
    Dim row As Single
    Dim col As Single
    
    With MyFlexGrid
    
        For row = 0 To .Rows - 1
            For col = 0 To .col - 1
                sheet.Cells(row + 1, col + 1).Value = .TextMatrix(row, col)
                Next col
            Next row
    End With
       
       app.Visible = True
       Exit Sub
End Sub

  (2)在我们的机房收费系统文件夹下(也就是根目录下)建立一个空白的Excel表格,接下来就是这些代码啦

<pre name="code" class="vb">Dim i As Integer
       Dim j As Integer
       MyFlexGrid.Redraw = False    '关闭表格重画,加快运行速度
       Set xlApp = CreateObject("Excel.Application")   '创建EXCEL对象
       '打开已经存在的EXCEL工件簿文件
       Set xlBook = xlApp.Workbooks.Open(App.Path & "\学生上机记录.xls")
       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 

        xlBook.worksheets("sheet1").cells(i+1=MyFlexGrid.text)

           next j

  next i

        MyFlexGrid.Redraw=True


 
  

          其实这些方法几乎都是差不多的,都是声明变量,然后行列循环啦,这种没有用到过的很高大上东东,一搜就全都出来啦!同时向大家推荐如何导出Excel,这里面介绍的也是很详细的。

     
     对于机房收费系统,我还是有一个很大的疑问的,那就是窗体总是不翼而飞,一些窗体先保存,然后运行,然后退出程序关机之后,第二天打开电脑,窗体就没有了,也许我是好欺负吧,第二天再重新敲!但是该怎么解决吗?难道解决的方案就是我再重新装一个vb吗?求解啊
     
 
 

你可能感兴趣的:(机房收费系统问题总结——导出Excel)