首页 VB控制EXCEL生成报表

VB控制EXCEL生成报表

举报
开通vip

VB控制EXCEL生成报表VB控制EXCEL生成报表 VB 控制 EXCEL 生成报表 刘 东 ( )陕西理工学院 物理系 , 陕西 汉中 723000 摘要 : 针对 Visual Basic 6 . 0 中制作复杂报表较难的情况 , 就如何利用 VB 控制 EXCEL 建立复杂数据报表作了的探讨 关键词 : 数据报表 ; Excel ; VB () 文章编号 : 1671 - 5365 200512 - 0073 - 03 中图分类号 : TP317 . 3 文献标识码 : A () VB 做为一种简捷 、高效W的in do...

VB控制EXCEL生成报表
VB控制EXCEL生成报表 VB 控制 EXCEL 生成报表 刘 东 ( )陕西理工学院 物理系 , 陕西 汉中 723000 摘要 : 针对 Visual Basic 6 . 0 中制作复杂报表较难的情况 , 就如何利用 VB 控制 EXCEL 建立复杂数据报表作了的探讨 关键词 : 数据报表 ; Excel ; VB () 文章编号 : 1671 - 5365 200512 - 0073 - 03 中图分类号 : TP317 . 3 文献标识码 : A () VB 做为一种简捷 、高效W的in dows应用程序开发工 具, 具有 强大的 属性应用于特定的工作簿而非应用于活动工作 簿。数据处理功能, 可以方便地存取Or acle 、Foxpro 、Access等多种数据 库。 Worksheet对 象: 虽然W orksheet类提供了大量成 ,员 但 大部分属性 但是, VB 缺乏符合中文习惯的数据 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 输出功, 虽然使能 用C rystal R e2 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 和事件都与 Application和 Workbook类提供的成员相同或相 。似 port 控件及C rystal Repor程t 序可以输出报表, 但只能制作简单的二维 表 格Range对 象: Range对象 是E xcel 应用程序中最常用的对 。象在能够 报表 , 对于比较复杂的报,表 就很难实现 了E 。xcel在表格方面有强 大 的 处理 Excel 内的任何范围之前, 必须将它表示 为Ra nge 对象, 并处理该 功能 , 能制作复杂的图 。表Excel 具有自己的对象库, 在 VisualB asic 工 程中可以加以引用 , 通过对E xcel使 用O L E 自动化技术, 可以创建一 些对象的方法和属性R 。ange 对象表示一个单元 、格一行 、一列 、包含一 外观整洁的报表 , 然后打印输出 。这样实现Vi了sua l Basic应 用程序对 () 个或多个单元格块可以连 续, 也可以不连续的单元格选定范,围 甚 Excel的控 制 。本文结合自己在开发高校学籍管理系统的实践和体, 谈 谈会 至多个工作表中的一组单元。格 在 VB6. 0 应用程序中调用Ex ce1 2000的思路和技 巧。 Cells对 象 : Cells对象包含 于W orkshee对t 象, 表示E xcel特定工作 表 1 Excel对象模 型的一个单元格对。象 为了在V B 应用程序中调用Mi crosoft Office Exc, e必须了l 解E xcel对 Chart对 象: Chart对象 代表工作簿中的图 。表该图表既可为嵌入 式象模型, 掌握与E xcel对象模型提 供的对象进行交互的 。技Ex巧cel 对象 () 图表 包含于C hartObjec对象t 中也可为分立的图表工作。表 模型描述了E xcel内部 复杂结构, 所提供的对象很,多 其中最重要的 对 可以看出A pplication对象提供整个应用程序的包 , 而每装 个W ork2 ( ) 象 , 即涉及V B 调用 Excel 最可能用到的对象: 有 如图Application对 book 对象包含一个W orksheet对象集 合 。Range对象是主要 的用于单元 格 象 :抽象表示的对象, 该对象供您用来处理单 单个 元 格 或 成 组 的 单 元 格 Chart对象利用一定范围单元格数据生成图 。 表 2 调用E xcel 在 VB 应用程序中调用Ex cel, 实质是将E xcel 作为一个外部对象 来 引用, 由 Excel对象模型提供能 V从B 应用程序内部来程序化操纵的对 象 以及相关的属性 、方法和事 。件 2. 1 在 VB 工程中添加对Ex cel类型库的引 用 为了能从V B 应用程序中访问Ex cel丰富的内部资 源, 使 Excel应 用 程序运行得更快, 需要 在V B 工程中添加对Ex cel类型库的引 用。 步骤如 下 : 从 VB6 的 “工程”菜单中选择 “引用”; 选栏择 M icrosoft Exce9l. 0 Excel 的 Application对象表 示E xcel应用程序本 身A 。pplication对象 提 ( ) () ObjectL ibrary EXCEL2000注: 计算机系统要安M装S Excel, 然后选 供了大量有关正在运行的应用程序 、应用于该实例的选项以及在该实例 择 “确定”。表示在工程中要引MS用 E XCEL类型 库 。 中打开的当前用户的对象的信。息 2. 2 引用A pplication对 象 Workbook对 象: Workbook类表 示E xcel 应用程序内的单个工作。簿 Application对象 是E xcel对象模型的顶 层, 表示整 个E xcel应用程 序 Application类的许多 成员同时也W是or kbook类 的成员 。在这种情况下, Application对象的常见任 务: 创建新的工作 簿; 打开现 有的工作;簿 为 特 收稿日期 : 2005 - 09 - 09 ( )基金项目 : 陕西理工学院高校学籍管理系统开发项目 SL G0435 () 作者简介 : 刘东 1979 - , 男 , 汉 , 四川巴中人 , 助教 , 本科 , 主要从事计算机软件应用及多媒体 课件 超市陈列培训课件免费下载搭石ppt课件免费下载公安保密教育课件下载病媒生物防治课件 可下载高中数学必修四课件打包下载 开发研究 。 ( ) 定工作簿提供焦点即 : 激活工作薄; 保存工作簿; 关闭一个或多 个Dim sql, sql2 As String 工作簿; 锁定工作簿 。在 VB 应用程序中调用Ex cel, 就是使用A pplication strSource = App . Path &“ \ moban. xl”s’moban. xls是已经做好的报 表 对象的属性 、方法和事件 。为此, 首先要声明对象变: 量 模板 strDestination = App . Path &“ \ Temp . xls”’Temp . xls 是临时报表 Dim VBExcel AOsb ject FileCopy strSourc, es trDestination’ 复制m oban. xls为 Temp . xls 或直接声明为Ex cel对 象: ) (Set newbook = Xls. Workbooks. OpenA . pPapth &“ \ Temp . xls”’打开 Dim VBExceAl s Exce l. Application Temp . xls 在声明对象变量之,后可 用C reateObjec函数t 或G etObject函数给变 量 ( ) (Set db = DBEngin .e Workspace s0. OpenDatabaseA pp . Path + “ \ stu2 赋新的值或已存在的 Application对象引 用 。 dent . mdb”, False, ) a用 CreateObjec函数生成新的对象引t : 用 ) False’打开s tuden .t mdb数据库文 件 ()Set VBExcel= CreateObje c“tExce l. Application” )(xh = InputBox“请输入需打印学生的学号”,“打印窗” 字符串“Excel . Applicati”on是提供E xcel 应用程序的编程ID ,这个变量 sql2 = “ select 学号, 姓名 ,性别, 入学时间,专 业, 系别, 政治面貌,民 引用 Excel应用程序本 身。 族 ,班级, 学制, 家庭住址,籍 贯, 毕业证 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 号,学位证书 号fr om stu wher学e ) b用 GetObject函数打开已存在的对象引 : 用 号 = ’”& xh &“’” () Set App Excel= GetObjec “tSAMP.X LS”上面( ) Set recStu = db. OpenRecord sestql2’recstu为 SQL 语句执行结果的记 语句打开文件 SAMP.X LS。 录集 2. 3 Application对象常用的属 性、方 法 If Not recStu. EOFT hen ’在指定单元格填入学生基本信, 包息括 : 学号, 姓名, 性别, 入学时 间 ,专业, 系别, 政治面貌,民 族, 班级, 学制, 家庭住址,籍 贯, 毕业证书号, Visible属 性 取 True或 False, 表明E xcel应用程序是否可 。见 学位证书号 Left , Top 属性 Excel窗口的位 置; With Xls Height, Width属 性 Excel窗口的大 小; WindowState属 性 指定窗口的状态; 退 出 Quit方 法 Microsoft Exce; l Calculate方 法 重新计算所有打开的工作簿、工作表或单元格。 求值数学表达式并返回结果 Evaluate方 法 。 ()(). Cells 3 , 2 recStu 0 = ()(). Cells 3 , 5 = recStu 1 VB 控制E xcel实 例 3 ()(). Cells 3 , 9 = recStu 3 ( 实例功能目标:用 VB 实现连接E xcel 在 Excel 环境中已作好的mo 2() (). Cells 3 , 13= recStu 2 ) () ban. xls如下 ,图,并控制s tuden .t mdb 包括学生的各学期课程成绩信息数 () (). Cells 3 , 18= recStu 6 据库与E xcel之间的数据传输及其打 。印 ()(). Cells 4 , 2 recStu 5 = ()(). Cells 4 , 5 = recStu 4 ()(). Cells 4 , 9 = recStu 9 ()(). Cells 4 , 13 = recStu 7 ()(). 4 = Cells , 18 recStu 8 ()(). Cells 41, 8 = recStu 12 () (). 41 Cells , 13= recStu 10 () (). Cells 42, 8= recStu 13 () (). Cells 42, 13= recStu 11 ( End With 3. 1 用 VB 打开E xcel 模板, 并打开学生学籍信息数据st库ud en .t ) ( mdb,把学生的基本信息及其成绩按学期填Exe入cl 模板 中 。本例中只 recStu. Close )填入了第一学期,其它学期程序略 ’写入学生课程成绩 以第一学期为例 其它学期程序类,可以用似循 环实现 Dim da As Data sql = “s elect 课程名,学 时, 考试成绩,考查成 绩fr omk c where学 期= Publicd b As Database 1 and 学号= ’“& xh &”’order by学期 ” Dim recStuA s Recordse’t 定义结果集 ( ) Set recStu = db. OpenRecord sestqlDim Xls As New Ex .c Aelpplication’ 定义一个E xcel 对象 If Not recStu. EOFT hen Dim newbookA s Exce l. Workbook’ 定义一个E xcel 工作本 With Xls ()Private Sub Write ETxoce l RowNum = 7 ’设定填充第一学期各科成绩的起始行号 Dim strSourc,e strDestinatio,n x h As String WhileN ot recStu.E OF Dim LineNum, R owNumA s Integer ( ) (). Cells RowNum, 1= recStu 0 Dim mpathA s String ( )(). Cells RowNum, 2 recStu 1 End Sub = 3. 4 关闭数据库及其Ex cel ( )(). Cells RowNum, 3 = recStu 2 () Private Sub Comman Cd5lic-k( )(). Cells RowNum, 4 = recStu 2 Set NewBook = Nothing ( )(). Cells RowNum, 5 = recStu 3 Set xls = Nothing recStu.M oveNext Data1. Databa .s eClose RowNum = RowNum + 1 End Sub Wend Xls.V isible = True ’使 Excel 可见否则是隐藏的. 由于已经 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 完成的“高校学生学籍管理系统”项目的程序代码 较newbook. SaveA“s报表. xls”’保存到当前目录,文件名为报下 表. xls 多 ,在此只选取了核心的程序段 。以上程序在计算机上调试通,可以实过 MsgBox“提取完成” 现用V B来控 制E xcel的数据填 充 、打印预览及其打印功 。能 recStu.M oveFirst 4 小结End With 上述讨论表明,通 过V B 应用程序将数据库中的数据传Ex向cel 表 单, Else 在 Excel编辑环境下对这些数据进行排版和其 它复杂数据处 、制作图理表 MsgBo“x数据库中没有考试成绩信息, vb”Information“ ,没有记录” 等 ,可实现对大量数据的复杂运算处理和简捷的可视化及排版打印目, 标 End If 又有极灵活友好的人机交互界面和极高效的数据控制便捷途 。这种处径 Else 理报表的方法,操作和修改都是很方便 的 。所以利Exc用el 来制作复杂 的 MsgBo“x数据库中没有学生基本信息, vb”Information“ ,没有记录” 数据报表结合VB 控制是明智的选。择 End If db. Close 参考文献 : Set newbook = Nothing ( )〔1〕龚沛曾 ,陆慰民 ,杨志强. Visual Basic 程序设计简明教程 第二版 Set Xls = Nothing 〔M〕. 北京 :高等教育出版社 ,2003 . End Sub 〔2〕Harvey M D ,Paul J D ,Ten R N 等. 于伟 ,王刚 , Visual Basic 6 大学教 3. 2 预览 Excel报 表 程 ———Visual Basic How to Program〔M〕. 北京. 电子工业出版社 ,2003 . () Private Sub Comman Cd4lic-k〔3〕杜茂康. Excel 与数据处理〔M〕. 北京 :电子工业出版社 ,2002 . xls.P rintPreview 〔4〕常晓 波. JUL IA , ANITA C , 等. Millspaugh Visual Basic6 . 0 高 级 编 程 End Sub 〔M〕. 北京 :清华大学出版社 ,2003 . 3. 3 打印E xcel报 表 〔5〕刘炳文 ,Visual Basic 6 . 0 程序设计 ———ActiveX 篇〔M〕. 北京 : 人民 () Private Sub Comman Cd5lic-k邮电出版社 ,2002 . xls.P rintOut 〔6〕陈军 ,李凌云. 利用 VB 实现复杂数据报表的输出〔J 〕. 烟台师范学 ( ) () 院学报 自然科学版,2004 . 1:27 - 30 . The Data Report Ba sed on EXCEL by VB L IU Dong ( )Physics Department , Shaanxi University of Technology , Hanzhong 723000 , China Abstract :According to the difficult situation of creating a complex data report based on Visual Basic 6 . 0 , this article discusse how to create a complex data - report based on EXCEL by VB Key words :Data Report ; EXCEL ;VB
本文档为【VB控制EXCEL生成报表】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_594886
暂无简介~
格式:doc
大小:48KB
软件:Word
页数:8
分类:生活休闲
上传时间:2017-10-17
浏览量:84