计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

在PowerBuilder中利用自动化技术调用Excel处理与打印(2)

2014-08-16 01:07
导读:调用该函数时,如果成功的话,返回值是0,否则就意味着调用失败。 到此,自动化的准备工作已经完成,下面是具体的操作过程。 4 处理和打印表格 在调

调用该函数时,如果成功的话,返回值是0,否则就意味着调用失败。
到此,自动化的准备工作已经完成,下面是具体的操作过程。
4 处理和打印表格
在调用Excel时,首先需要解决的一个问题是是否让Excel可见,即是否为后台操作。这个问题可以简单的通过设置Visible属性加以控制,如果希望Excel后台运行,可以简单的编写如下语句:
OLE_MyExcel.visible=false
然后是打开指定的XLS文件,具体的语句如下:
OLE_MyExcel.Application.Workbooks.Open ("d:excel-example.xls")
要操纵数据列表中的数据单元,就必须对ActiveCell对象进行操纵,该对象是Application对象中一项属性。将数据输入到一个数据单元包括两个步骤:第一是选择一个数据单元,第二是将数据传递给它。选择一个数据单元通过调用Range对象的Select()方法就可以完成,Range对象是用来选择一个或多个数据单元的。Select()方法需要起始的行数、列数和结束的行数、列数来确定所选择的数据单元。如果只选择一个单独的数据单元,就可以忽略结束的行、列数。当范围被设定以后,将数据传递给ActiveCell对象(引用了被Range对象指定的数据单元)的FormulaR1C1属性。如下:
OLE_MyExcel.Range("c10").Select()
OLE_MyExcel.ActiveCell.FormulaR1C1 = sle_2.text //Sle_2为一个静态文本框控件
OLE_MyExcel.Range("J10").Select()
……
如果希望得到一系列数值的和,则需要首先使用Select()方法来指定需要求和的Cell的范围,然后指定存放和的Cell位置,最后调用SUM方法即可,如下:
OLE_MyExcel.Range(“A1:D1”).Select()
OLE_MyExcel.Range(“E1”).Activate()
OLE_MyExcel.ActiveCell.FormulaR1C1 = “=SUM(RC[-4]:RC[-1])”
当然还可以进行其他方面的设置,例如把字体设置为粗体(Bold),则可以编写如下代码:
OLE_MyExcel.Range(“A1:E1”).Select()
OLE_MyExcel.Selection.Font.Bold = True

(科教作文网http://zw.ΝsΕAc.com发布)


至于其他的设置可以参考相关书籍。
至于表格的打印,则是简单的调用PrintOut()方法即可,但是需要首先指定打印的范围,如下是打印名为“Sheet1”的WorkSheet的代码:
OLE_MyExcel.Worksheets("sheet1").Activate()
OLE_MyExcel.ActiveSheet.PrintOut()
接下来是关于对XLS文件进行了改动以后,在关闭该文件时是否需要向用户提出警告。这个问题只需要简单的对OLE_MyExcel.Application.DisplayAlerts属性进行设置即可,为True时弹出警告框,为False时不弹出警告框,保存所作的修改。
最后一步,在作完所有工作以后,需要关闭自动化对象,撤销与自动化服务器的连接,销毁OLE对象,因为使用自动化程序,尤其是Word或Excel这样的Office程序,所消耗的系统资源是很庞大的,因此在每次工作完成之后,需要释放这部分系统资源。如下:
OLE_MyExcel.Application.quit()
OLE_MyExcel.DisConnectObject()
destroy OLE_MyExcel
5 结束语
在使用了自动化技术以后,完满的解决了原来的表格处理问题,可以非常方便的对各种表格进行小批量的处理与打印,非常灵活。如果能够与企业的数据库结合起来,通过外部程序将数据成批输入,亦可解决大批量数据输出的问题,不失为一条好的解决方案。
在实际应用中,通过与企业数据库相结合,使用此方法自动填写了包含了大量数据的XLS文件,并可以通过打印机打印出来.共2页: 1 [2] 下一页 论文出处(作者):
GIS在天津市“情系百姓”规划项目中的应用
Oracle数据库的优化
上一篇:在VB6.0数据库程序开发中使用ADO 和SQL(1) 下一篇:没有了