2024年3月17日发(作者:爱暖暖)
在
po werbuilder
中实现
excel
表
格的导入和导出
在为某单位制作一个管理信息系统软件时, 用户提出, 系统
中要能够实现 excel 表格的导入和导出。 Excel 软件是专门为处 理
各式电子表格而设计,它能够非常高效而专业的处理各式表
格,在使用这个管理信息系统软件之前, 单位的大部分数据都是
保存在 excel
中的。系统前台的开发使用的是 POWERBUILD, E
PO WERBUILDE是面向对象的数据库开发工具之一,它可以操纵 众多
大型数据库和桌面数据库, 支持多种硬件平台。 但它有一个 致命的
弱点,就是打印报表非常不方便,打印函数太少,特别是 对中国式报
表。而EXCEL制表却非常容易,若把两者结合起来 使用则会取长补
短。 也就是说我们的这个系统要既能将 excel 报 表中的内容导入到
数据库中,又要能将数据库中的数据导出到 excel 中。
PowerBuider 是 Syba 公司推出的一种高级数据库应用程 序
开发环境, 在这个环境中开发数据库应用程序, 使用其专利技 术
DataWindow,可以很轻松的开发出非常专业的数据库应用程 序。此
外, PowerBuilder 还支持多种数据库,能够很轻松的与 目前流行的
MS SQL Server 、Oracle 等企业级数据库建立连接, 处理各种事
务。 PowerBuilder 中的编程语言被称为脚本
Script ),实际上,使用 PowerBuilder 编写的程序也是事件
面向对象的编程思想,它还提供了对 O L E、 DD E、 Automation
等 技术的支持,下面我们就先来看一下如何将 excel 报表通过
powerbuilder 导入到数据库中。
首先,声明一个OLE对象,如下:
OLEObject ExcelServer
其次,创建该OLE对象,如下:
ExcelServer =Create OLEObject
驱动,在界面设计上也完全做到了“所见即所得” , 并完全使用
然后,使用 PowerBuilder
中的 ConnectToNewObject 函数来
创建一个新的OLE对象,并且连接到该对象上,如下:
ExcelServer. ConnectToNewObject ("ation") 调
用该函数时,如果成功的话,返回值是 0,否则就意味着调用 失败。
调用函数成功后我们需要利用 getfileopenname 函数调用 一个
对话框, 用来选择将要导入到数据库中的 excel 报表。具体 代码如
下,省略了部分变量定义语句。
value=getfileopenname(" 请选择文件名 " , str_filename
file , "xls" , "xls Files
(*.xls)
, *.xls")
(str_filename)
str_savename="c:"
(str_savename , 3)
在作完以上工作以后, 需要关闭自动化对象, 撤销与自动化
服务器的连接,销毁 OLE对象,因为使用自动化程序,尤其是
Word或Excel这样的Office程序,所消耗的系统资源是很庞大 的,
因此在每次工作完成之后,需要释放这部分系统资源。代码 如下:
()
nectObject()
DESTROY ExcelServer
系统资源释放后通过 dw_File (str_savename )语 句
将 excel
报表中的内容显示到 powerbuilder 的数据窗口中,再通过
dw_() 命令将数据保存在数据库中。
在导入过程中有一点需注意,就是数据库中表的列与相应 excel
报表的列的数据类型要相对应。
以上为导入 excel 报表的过程, 下面我们看一下将数据库中
数据导出到 excel 文件中的过程。
首先,声明两个OLE对象,如下:
OLEObject newoleobject , newoleworkbooks
其次,创建该OLE对象,如下:
newoleobject=Create oleobject
然后,使用 PowerBuilder
中的 ConnectToNewObject 函数来
创建一个新的OLE对象,并且连接到该对象上,如下:
newoleobject. ConnectToNewObject
("ation")
调用该函数时,如果成功的话,返回值
是 0。
函数调用成功后, 我们打开一个 excel 文件并且使这个文件
可见,然后利用 cell 函数将数据窗口中的数据导出到
excel 文
件中,部分代码如下:
e=true
newoleworkbooks=eets(1)
(1
,1).value=" 列名 1"
(1 ,2).value=" 列名 2"
long rownumber
for rownumber=2 to dw_nt()+1
(rownumber ,1).value=rownumber
(rownumber,2).value=dw_mst
ring(rownumber - 1 ,1)
(rownumber,3).value=dw_mst
ring(rownumber - 1 ,2)
Next
将数据导出到 excel 文件后,用 getfilesavename 函数调用
对话框将 excel 文件保存到适当的位置,最后将系统资源释放, 代
码如下:
value=getfilesavename(" 请选择文件名 " , str_filename
file ,"xls" , "xls Files
(*.xls)
,*.xls")
(str_filename)
()
nectobject()
destroy newoleobject
destroy newoleworkbooks 出功能的详细说明, 通过实际应用
表明, 实现 excel 报表的导入 功能能避免重新在数据库中录入数据
的繁琐, 数据库中数据导出 到 excel 文件使数据的打印更为方便和
灵活, 这两个功能也是我 们在制作管理信息系统软件时必不可少的
两个功能。
以上内容为在 PowerBuilder
中实现 excel 文件的导入和导
本文发布于:2024-03-17 14:33:10,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/171065719056932.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:在powerbuilder中实现excel表格的导入和导出-精选文档.doc
本文 PDF 下载地址:在powerbuilder中实现excel表格的导入和导出-精选文档.pdf
留言与评论(共有 0 条评论) |