首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Visual Basic > 利用VB设计打印复杂报表
【标  题】:利用VB设计打印复杂报表
【关键字】:VB,设计,打印,设计,VB
【来  源】:网络

利用VB设计打印复杂报表

A---- 一. 用VB创建外部EXCEL对象

---- 大多数大型 ActiveX-enabled 应用程序和其它 ActiveX 部件,在它们的对象层次中都提供了一个顶层外部可创建对象。该对象提供了对该层次中其它对象的访问,并且还提供对整个应用程序起作用的方法和属性。

---- 例如,每个 Microsoft Office 应用程序提供一个顶层 Application 对象。下面语句显示了对Microsoft office/9.shtml' target='_blank' class='article'>Excel的 Application 对象的引用:

Dim xlApp As Excel.Application
Set xlApp = New Excel.Application

---- 然后,可以用这些变量来访问在EXCEL应用程序中的从属对象、以及这些对象的属性和方法。例如:

Set xlApp = CreateObject("Excel.Application")
‘激活EXCEL应用程序
xlApp.Visible = False ‘隐藏EXCEL应用程序窗口
Set xlBook = xlApp.Workbooks.Open(strDestination)
‘打开工作簿,strDestination为一个EXCEL报表文件
Set xlSheet = xlBook.Worksheets(1)
‘设定工作表

---- 二. 用EXCEL 97设计报表的模版文件

---- EXCEL 97是一个非常优秀的创建报表的工具。它提供的单元格任意合并、拆分和绘图功能基本上能够满足设计所有复杂报表的需求。它对任意一个单元格的格式随意控制,更为随心所欲地设计报表提供了强大的支持。

---- 根据用户提供的报表,我们可以很快在EXCEL里生成模版文件。所谓生成模版文件只是为了满足用户多方面的需求而设计的。也是为了适合报表以后的更改而做的一点预备工作。例如用户需要打印几百张职工履历表,但其格式都是一致的,并且随着时间和实际情况的变化,表格格式有可能需要改变,我们设计一个模版文件显然可以“以不变应万变”了。

---- 生成工作表时我们应当记录下要填充内容的单元格编号和该单元格内要填充的数据字段。这样形成一个表格,在写程序时一目了然。如:

Cell(4,2) 职工姓名 Cell(6,6) 毕业学校
Cell(4,4) 职工性别 Cell(6,7) 所学专业
Cell(4,6) 职工民族 Cell(6,9) 工作时间
(表一)

---- 在程序里我们当然不要对模版文件进行操作了,我们只需要对模版文件的一个拷贝进行操作就行(这也是我们设计模版文件的一个目的和好处)。如下面的例子:

Dim strSource, strDestination As String
strSource = App.Path & "\Excels\RegisterFee.xls"
‘RegisterFee.xls就是一个模版文件
strDestination = App.Path & "\Excels\Temp.xls"
FileCopy strSource, strDestination
‘将模版文件拷贝到一个临时文件

---- 三. 生成工作表内容

---- 有了上述两步工作的铺垫,我们下面接着就只要根据(表一)的格式给各单元格赋值了。如:

datPrimaryRS.Recordset.MoveFirst
‘datPrimaryRS为Data控件
If IsNull(datPrimaryRS.Recordset!姓名) = False Then
xlSheet.Cells(4, 2) = datPrimaryRS.Recordset!姓名
End If
If IsNull(datPrimaryRS.Recordset!性别) = False Then
xlSheet.Cells(4, 4) = datPrimaryRS.Recordset!性别
End If
If IsNull(datPrimaryRS.Recordset!民族) = False Then
xlSheet.Cells(4, 6) = datPrimaryRS.Recordset!民族
End If
………………

---- 四. 打印报表

---- 生成了工作表后,就可以对EXCEL发出打印指令了。

---- 注意在执行打印操作之前应该对EXCEL临时文件执行一次保存操作,以免在退出应用程序后EXCEL还提示用户是否保存已修改的文件,让用户觉得莫名其妙。如下语句:

xlBook.Save ‘保存文件
xlSheet.PrintOut ‘执行打印
xlApp.Quit ‘退出EXCEL

---- 至此读者应该看到,我们设计的报表打印是通过EXCEL程序来后台实现的。用户根本看不到具体过程,他们只看到一张张漂亮的报表轻易地被打印出来了。

保存窗口位置来增加专业性:【上一篇】
Visual Basic界面设计大观:【下一篇】
【相关文章】
  • VB驱动pcAnyWhere进行文件传输
  • VB编程之路-如何让界面美化
  • 浅谈用VB6.0编写木马程序
  • Visual Basic串口通信程序设计
  • 用VB实现任意修改Win桌面背景
  • .NET和VB编程创建SQL Server
  • 菜鸟入门:VB编程规约
  • 在VB应用程序中调用Excel2000
  • 利用VB6.0开发基于IIS的应用程序
  • VB编程的一些基础的问题
  • 【随机文章】
  • FreeBSD读书笔记—11进程间通信—11.4数据结构
  • 程序员的无耐
  • Singleton模式的静态局部变量的问题
  • CSS反转字符加密邮箱地址
  • Java上机练习(1)
  • fm-1.0最快搞定redhat 7.2/7.3中文显示打印的工具
  • [Python for Series 60 的开发指南] Python for Series 60的安装和相关资源
  • 赵家老哥
  • 用VC++实现Windows 2000/XP下的休眠
  • 实世界的 XML:使用 .NET 框架中集成的读取器和写入器很容易操作 XML 数据
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.