敲机房很久了,感觉对代码的感知力终于有所提高了,很是开心。今天在敲学生充值记录查询的时候发现,其中有了新的知识,  这时候就该到了分析问题的时候了。不说废话了!

首先

保证自己的笔记本或者电脑上必须有Office。

接着

在VB中我们要找到所要用到的控件:Microsoft Excel14.0 Object Labilary。步骤如下:

工程——引用——Microsoft Excel14.0 Object Labilary

然后

有了工具,当然得赶紧实现他的用途了。在生活中,我们有时候需要对自己查出来的数据进行处理,有时候数据所在的地方不容易进行编辑,需要给它换个环境进行完美的编辑,这时候这个工具就发挥作用了。看吧↓↓

功能:实现从MSHFlexgrid中导出数据到Excel表格中。

分析:首先确定控件MSHFlexGrid中是否有数据;然后创建一个Application,将数据写入到Excel。

实践:

Private Sub CmdOut_Click()

    '判断MSHFlexGrid控件中是否有可写入Excel是数据。
If MyFlexGrid.TextMatrix(1, 0) = "" Then
MsgBox "没有可以导入到Excel的数据!", vbOKOnly + vbExclamation, "警告!"
Exit Sub
End '创建一个Application对象 Dim excelApp As Excel.Application
Set excelApp = New Excel.Application '绑定
Set excelApp = CreateObject("Excel.Application") '向Excel中写入数据
Dim exbook As Excel.Workbook
Dim exsheet As Excel.Worksheet
Set exbook = excelApp.Workbooks.Add
excelApp.SheetsInNewWorkbook = 1 '设置为可见
excelApp.Visible = True '将控件Myflexgrid显示内容写入Excel
Dim i As Integer
Dim j As Integer With excelApp.ActiveSheet
For i = 1 To MyFlexGrid.Rows
For j = 1 To MyFlexGrid.Cols
.Cells(i, j).Value = "" & Format$(MyFlexGrid.TextMatrix(i - 1, j - 1))
Next j
Next i
End With '清空并关闭
Set exsheet = Nothing<pre name="code" class="html">

以上就是整个VB中导出Excel表的过程与实践。看看机房收费系统,有好多地方都用到了将MSHFlexGrid控件中的数据导出到Excel表格这个功能。想想为什么不自定义一个过程,然后用到的时候直接调用不就可以了吗?于是就有了下面的东西:

</pre><pre name="code" class="html">Public Sub excelOut(MyFlexGrid As MSHFlexGrid)
Dim excelbook As Object
Dim excelsheet As Object
Dim excelApp As Excel.Application
Dim i As Integer
Dim j As Integer Set excelApp = New Excel.Application
'创建对象
Set excelApp = CreateObject("excel.application")
'打开文件
excelbook = excelApp.Workbooks.Add
'对象可见
excelApp.Visible = True With excelApp.ActiveSheet
For i = 1 To MyFlexGrid.Rows
For j = 1 To MyFlexGrid.Cols
.Cells(i, j).Value = "" & Format$(MyFlexGrid.TextMatrix(i - 1, j - 1))
Next j
Next i
End With
End Sub

用到的时候直接调用就OK了。

Private Sub cmdOut_Click()  '输出
             
           '如果行数小于2,就没有数据,如果大于2,就调用函数输出导出excel表
            If Rechargeflexgrid.Rows < 2 Then
                   MsgBox "没有数据!", vbOKOnly + vbExclamation, "警告"
                   Exit Sub
            Else
              
                Call excelOut(RechargeMyflexgrid)         '调用模块中定义的函数
            End If
End Sub

只要努力坚持,相信自己,我们一定能行。

VB-机房收费系统之Excel导出的更多相关文章

  1. 机房收费系统——在VB中将MSHFlexGrid控件中的数据导出到Excel

    机房收费系统中,好多查询的窗体都包含同一个功能:将数据库中查询到的数据显示在MSHFlexGrid控件中,然后再把MSHFlexGrid控件中的数据导出到Excel表格中. 虽然之前做过学生信息管理系 ...

  2. VB.NET版机房收费系统---导出Excel表格

    datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,能够显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件很easy和直观,大多数情 ...

  3. 机房收费系统之导出Excel

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

  4. VB.NET 机房收费系统项目总结

    VB.NET机房收费系统项目总结 从2013年5月3日——2013年8月20日历时三个多月的.NET机房收费系统终于完成了.项目做完了,真有一种如释重负的感觉. 下面我将从文档.UML图,代码这三个方 ...

  5. VB.NET版机房收费系统---报表

    报表,即报告情况的表格,简单的说:报表就是用表格.图表等格式来动态显示数据,可以用公式表示为:"报表 = 多样的格式 + 动态的数据". 在没有计算机以前,人们利用纸和笔来记录数据 ...

  6. VB.NET版机房收费系统---七仙女之系统登录

    VB.NET第一版机房收费系统,告一段落,验收的时候.问题也是大大的存在,没实用上设计模式,什么触发器.存储过程,都没实用上.看看其她小伙伴的,七层实现登录?那是什么东东,相比較我的三层而言,多了两倍 ...

  7. 机房收费系统之vb报表的模板的制作(一)

           机房收费系统有报表的功能,报表对于我们来说有点陌生.这不是会计的事吗?怎么机房收费系统也參合进来了,事实上我们学会了报表的步骤.理解了代码后.报表变得不是非常难,世上无难事,仅仅怕肯登攀 ...

  8. VB.NET版机房收费系统---外观层如何写

    外观设计模式,<大话设计模式>第103页详细讲解,不记得这块知识的小伙伴可以翻阅翻阅,看过设计模式,敲过书上的例子,只是学习的第一步,接着,如果在我们的项目中灵活应用,把设计模式用出花儿来 ...

  9. VB.NET版机房收费系统---异常处理

    异常处理,英文名为Exceptional Handling, 那时年少,还记得那年一起学习过的VB6.0的时候,常常使用ONError的错误语句.与传统VB6.0中的OnError语句相比.NET平台 ...

随机推荐

  1. Mybatis代码学习

    Mybatis架构学习 MyBatis 是支持定制化 SQL.存储过程以及高级映射的持久层框架.MyBatis 封装了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.可以对配置和原生Map使用 ...

  2. 【转】 Pro Android学习笔记(八四):了解Package(3):包间数据共享

    目录(?)[-] 共享User ID的设置 共享资源例子 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowing ...

  3. 转:InnoDB Log Block Structure(InnoDB日志Block结构详解)

    文章转载自等博 InnoDB Log Block Structure(InnoDB日志Block结构详解)

  4. ECS Windows系统使用自带监视器查看IIS并发连接数

    问题现象 ECS Windows系统如何查看IIS并发连接数? 解决方案 1.运行-->输入“perfmon.msc” . 2.在“系统监视器”图表区域里点击右键,然后点“添加计数器”. 3.在 ...

  5. distinct可以用in代替(小技巧)

    distinct可以用in代替,in的好处是直接能获取所有数据,而distunct只能获取distinct的字段,不过效率肯定高一些.

  6. Windows条件变量

    详细见MSDN:http://msdn.microsoft.com/en-us/library/windows/desktop/ms686903%28v=vs.85%29.aspx 我们已经看到,当想 ...

  7. linux命令-du查看占用磁盘空间大小

    格式 df -h 查看磁盘分区情况 du /etc 目录文件大小都列出来 单位是k最后一行是总和 du -m 单位是m 小于1m写成1m du -h 单位人性化显示k/m du -sh /etc 查看 ...

  8. Maven构建war项目添加版本号

    上午接到一个新的需求,项目的war包打包之后,放在了阿里的OSS上,供其他项目下载更新时使用,但是只有一个项目名,也就是pom的artifactId,预期的结果是要加上一个版本号,能区分出是什么时候打 ...

  9. java定时器控制时间打印

    public class test2 { public static void main(String []args){ Timer timer=new Timer(); timer.schedule ...

  10. sh 脚本重启/更新 Tomcat 项目

    一.项目文件为一个 jar 包,无须解压 重启 Tomcat 项目 #!/bin/bash echo "kill hot-jdt" kill -9 `ps -ef|grep hot ...