您的位置:首页 > 其它

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

2014-08-19 16:14 232 查看
         在机房收费系统中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) 来实现,就不用大量的重复代码。通过这两种方法,相信读者们会很轻松的把这个功能搞定!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: