VB-机房收费系统之Excel导出
敲机房很久了,感觉对代码的感知力终于有所提高了,很是开心。今天在敲学生充值记录查询的时候发现,其中有了新的知识, 这时候就该到了分析问题的时候了。不说废话了!
首先
保证自己的笔记本或者电脑上必须有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导出的更多相关文章
- 机房收费系统——在VB中将MSHFlexGrid控件中的数据导出到Excel
机房收费系统中,好多查询的窗体都包含同一个功能:将数据库中查询到的数据显示在MSHFlexGrid控件中,然后再把MSHFlexGrid控件中的数据导出到Excel表格中. 虽然之前做过学生信息管理系 ...
- VB.NET版机房收费系统---导出Excel表格
datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,能够显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件很easy和直观,大多数情 ...
- 机房收费系统之导出Excel
刚开始接触机房收费的时候,连上数据库,配置ODBC,登陆进去,那窗体叫一个多,不由地有种害怕的感觉,但是有人说,每天努力一点点,就会进步一点点,不会的就会少一点点,会的就会多一点点.. ...
- VB.NET 机房收费系统项目总结
VB.NET机房收费系统项目总结 从2013年5月3日——2013年8月20日历时三个多月的.NET机房收费系统终于完成了.项目做完了,真有一种如释重负的感觉. 下面我将从文档.UML图,代码这三个方 ...
- VB.NET版机房收费系统---报表
报表,即报告情况的表格,简单的说:报表就是用表格.图表等格式来动态显示数据,可以用公式表示为:"报表 = 多样的格式 + 动态的数据". 在没有计算机以前,人们利用纸和笔来记录数据 ...
- VB.NET版机房收费系统---七仙女之系统登录
VB.NET第一版机房收费系统,告一段落,验收的时候.问题也是大大的存在,没实用上设计模式,什么触发器.存储过程,都没实用上.看看其她小伙伴的,七层实现登录?那是什么东东,相比較我的三层而言,多了两倍 ...
- 机房收费系统之vb报表的模板的制作(一)
机房收费系统有报表的功能,报表对于我们来说有点陌生.这不是会计的事吗?怎么机房收费系统也參合进来了,事实上我们学会了报表的步骤.理解了代码后.报表变得不是非常难,世上无难事,仅仅怕肯登攀 ...
- VB.NET版机房收费系统---外观层如何写
外观设计模式,<大话设计模式>第103页详细讲解,不记得这块知识的小伙伴可以翻阅翻阅,看过设计模式,敲过书上的例子,只是学习的第一步,接着,如果在我们的项目中灵活应用,把设计模式用出花儿来 ...
- VB.NET版机房收费系统---异常处理
异常处理,英文名为Exceptional Handling, 那时年少,还记得那年一起学习过的VB6.0的时候,常常使用ONError的错误语句.与传统VB6.0中的OnError语句相比.NET平台 ...
随机推荐
- HDU4135(容斥原理)
Co-prime Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- MySQL insert插入
使用INSERT语句插入新数据 语法:INSERT [INTO] tbl_name [(col_name,...)] VALUES (pression,...),… INSERT [INTO ...
- hibernate中mysql数据交互中文乱码问题
来源于"http://www.cnblogs.com/jiafuwei/p/4423101.html"; 修改hibernate的配置文件hibernate.cfg.xml,在配置 ...
- PAT L3-008. 喊山(BFS)C4 初赛30分
喊山(30 分) 喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤.呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的. ...
- 关于java中getClass()和getSuperClass()的讲解
为了讲解这个问题,我们先来看一下下面的代码: package com.yonyou.test; import java.util.Date; class Test extends Date{ priv ...
- SQL基础(2)
SQL TOP (1)TOP子句 OP 子句用于规定要返回的记录的数目. 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的. 注释:并非所有的数据库系统都支持 TOP 子句. (2)SQL S ...
- 2016.8.11 DataTable合并及排除重复方法
合并: DataTable pros=xxx; DataTable pstar=yyy; //将两张DataTable合成一张 foreach (DataRow dr in pstar.Rows) { ...
- CreateRemoteThread 远程dll注入
1.dll中的内容 // dllmain.cpp : 定义 DLL 应用程序的入口点.#include "stdafx.h" BOOL APIENTRY DllMain( HMOD ...
- Solaris10如何确认DirectIO是否已经启用
对于Oracle而言,如果数据库存储在UFS文件系统上,启用DirectIO能够提高数据库性能.Oracle有个参数filesystemio_options可以控制数据库是否使用DirectIO. ...
- javascipt——对象的概念——数组
一.Array 特点: 数组的长度是可变的: 数组的索引可以是数字.字符串: 数组的内容可以是任意内容: 可以通过索引获取之前不存在的一个位置,其值为undefined: 1.构造函数: new Ar ...