利用自动化技术打印excel表格论文范文_第1页
利用自动化技术打印excel表格论文范文_第2页
利用自动化技术打印excel表格论文范文_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

利用自动化技术打印excel表格论文范文摘要Microsoft公司的Office办公软件中的Excel是一种专业的电子表格处理软件,Microsoft公司对它的Office软件系列都提供了对自动化技术的支持,这样就可以通过其他高级编程语言调用Office软件系列,利用其成熟而可靠的技术与功能来轻松实现特定功能。本文中,将通过自动化技术,实现在PowerBuilder中调用Excel来实现表格的输出与打印。

关键词自动化ExcelPowerBuilder表格

1问题的提出

在为某企业设计电子图文档管理系统中,用户提出要求,要能够快速输出某些电子表格。在未使用自动化技术之前,该企业使用的是AutoCad软件来一次性将多个表格生成到一个DWG文件中,然后通过绘图仪出图。这种做法的好处在于能够有效的节省企业的开支,一次性生成大量的表格。但是,缺点也是明显的:这种做法欠缺灵活性,当遇到只需要输出少量表格的情况时,做法过于复杂。即这种做法非常适合于大量表格的批量输出,而不适合个别表格的独自输出。正是在这种背景下,我们提出了使用Excel电子表格处理软件来处理该企业的表格输出问题。

Excel软件是专门为处理各式电子表格而设计,它能够非常高效而专业的处理各式表格,并且非常关键的是:它具有表格计算汇总功能,在这一点上,AutoCad软件是无法相比的。另外一个原因,在当前的企业中,打印机的使用日益遍及,打印速度也日益加快,当多个用户同时需要打印时,可以通过高速的网络打印机来轻松实现,在这一点上,使用Excel也具有一定的优势。

2自动化技术

Microsoft公司提供的自动化技术,简单的说,就是将某一个应用程序的功能〔可能是一局部〕当作一系列的对象来向其他的外部应用程序暴露〔Expose〕,这个外部应用程序就可以使用这些对象,这个过程就被称为自动化〔Automation〕。示例,Excel,我们可以将它的大局部功能当作一系列对象来加以暴露,然后在另外的应用程序中使用这些对象,这就是使用自动化对象来调用Excel完成指定功能的关键所在。

一个应用程序的可访问对象被称为对象模型〔ObjectModel〕,如果能够使用自动化来操纵一个程序的对象模型就意味着可以重复使用组件。示例,使用自动化,利用Excel中已经编写和测试好的代码来进行复杂的数学运算,这就省去了程序员亲自动手编写和调试复杂代码的麻烦。

暴露对象的程序被称为效劳器〔Servers〕,使用这些对象的程序被称为客户〔Clients〕。在这里,我们把Excel当作自动化效劳器,把我们的PowerBuilder应用程序当作客户,这样就可以通过自动化技术来实现特定的表格生成和打印功能。

在大多数的Office软件中都包含一个Application对象,Excel也不例外,这个对象是Excel对象模式中的根底对象,它包含了许许多多的成员〔Member〕,但是在这里,我们只需要使用到其中的一局部。

3在PowerBuilder中使用自动化技术

PowerBuider是Sybase公司推出的一种高级数据库应用程序开发环境,在这个环境中开发数据库应用程序,使用其专利技术——DataWindow,可以很轻松的开发出非常专业的数据库应用程序。此外,PowerBuilder还支持多种数据库,能够很轻松的与目前流行的MSSQLServer、Oracle等企业级数据库建立连接,处理各种事务。

PowerBuilder中的编程语言被称为脚本〔Script〕,实际上,使用PowerBuilder编写的程序也是事件驱动,在界面设计上也完全做到了“所见即所得〞,并完全使用面向对象的编程思想,它还提供了对OLE、DDE、Automation等技术的支持,下面就来表明如何在PowerBuilder中使用自动化技术。

首先,声明一个OLE对象,如下:

OLEObjectOLE_MyExcel

其次,创立该OLE对象,如下:

OLE_MyExcel=CreateOLEObject

然后,使用PowerBuilder中的ConnectToNewObject函数来创立一个新的OLE对象,并且连接到该对象上,如下:

OLE_MyExcel.ConnectToNewObject("ication")

调用该函数时,如果成功的话,返回值是0,否那么就意味着调用失败。

到此,自动化的准备工作已经完成,下面是具体的操作过程。

4处理和打印表格

在调用Excel时,首先需要解决的一个问题是是否让Excel可见,即是否为后台操作。这个问题可以简单的通过设置Visible属性加以控制,如果希望Excel后台运行,可以简单的编写如下语句:

OLE_ble=false

然后是翻开指定的XLS文件,具体的语句如下:

OLE_("d:")

要操纵数据列表中的`数据单元,就必须对ActiveCell对象进行操纵,该对象是Application对象中一项属性。将数据输入到一个数据单元包括两个步骤:第一是选择一个数据单元,第二是将数据传递给它。选择一个数据单元通过调用Range对象的Select()办法就可以完成,Range对象是用来选择一个或多个数据单元的。Select()办法需要起始的行数、列数和结束的行数、列数来确定所选择的数据单元。如果只选择一个独自的数据单元,就可以忽略结束的行、列数。当范围被设定以后,将数据传递给ActiveCell对象〔引用了被Range对象指定的数据单元〕的FormulaR1C1属性。如下:

OLE_e("c10")ct()

OLE_ulaR1C1=sle_//Sle_2为一个静态文本框控件

OLE_e("J10")ct()

……

如果希望得到一系列数值的和,那么需要首先使用Select()办法来指定需要求和的Cell的范围,然后指定寄存和的Cell位置,最后调用SUM办法即可,如下:

OLE_e(“A1:D1〞)ct()

OLE_e(“E1〞)vate()

OLE_ulaR1C1=“=SUM(RC[-4]:RC[-1])〞

当然还可以进行其他方面的设置,示例把字体设置为粗体〔Bold〕,那么可以编写如下代码:

OLE_e(“A1:E1〞)ct()

OLE_=True

至于其他的设置可以参考相关书籍。

至于表格的打印,那么是简单的调用PrintOut()办法即可,但是需要首先指定打印的范围,如下是打印名为“Sheet1〞的WorkSheet的代码:

OLE_sheets("sheet1")vate()

OLE_tOut()

接下来是关于对XLS文件进行了改动以后,在关闭该文件时是否需要向用户提出警告。这个问题只需要简单的对OLE_layAlerts属性进行设置即可,为True时弹出警告框,为False时不弹出警告框,保留所作的修改。

最后一步,在作完所有工作以后,需要关闭自动化对象,撤销与自动化效劳器的连接,销毁OLE对象,因为使用自动化程序,尤其是Word或Excel这样的Office程序,所耗费的系统资源是很庞大的,因此在每次工作完成之后,需要释放这局部系统资源。如下:

OLE_()

OLE_onnectObject()

destroyOLE_MyExcel

5结束语

在使用了自动化技术以后,完满的解决了原来的表格处理问题,可以非常方便的对各种表格进行小批量的处理与打印,非常灵活。如果能够与企业的数据库结合起来,通过外部程序将数据成批输入,亦可解决大批量数据输出的问题,不失为一条好的解决计划。

在实际应用中,通过与企业数据库相结合,使用此办法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论