关于PB(powerbuilder)设计程序。
想设计一个程序,实现这样的功能:1.直接与excel链接2.开启程序后可以从文件夹中(可以自行选择路径)选择excel文件3.对选中的excel数据进行核对,判断该数据显...
想设计一个程序,实现这样的功能:
1.直接与excel链接
2.开启程序后可以从文件夹中(可以自行选择路径)选择excel文件
3.对选中的excel数据进行核对,判断该数据显示的产品合格与否
4.在DW窗口中显示被核对的excel文件合格or不合格,用其文件名或者表中某行某列数据显示在DW中。
5.待核对完所有excel,将DW中的文件生成excel表格
是新手,所有不知道该如何下手,之前也提问过关于PB的问题,也是由您回答的,所以再次向高手提问。
现身边只有195财富值(暂且先悬赏5分,以后追加),若能得高手相助,倾囊悬赏,虽然不是很多,但是已经是我的所有了。T T
求联系!
祝好! 展开
1.直接与excel链接
2.开启程序后可以从文件夹中(可以自行选择路径)选择excel文件
3.对选中的excel数据进行核对,判断该数据显示的产品合格与否
4.在DW窗口中显示被核对的excel文件合格or不合格,用其文件名或者表中某行某列数据显示在DW中。
5.待核对完所有excel,将DW中的文件生成excel表格
是新手,所有不知道该如何下手,之前也提问过关于PB的问题,也是由您回答的,所以再次向高手提问。
现身边只有195财富值(暂且先悬赏5分,以后追加),若能得高手相助,倾囊悬赏,虽然不是很多,但是已经是我的所有了。T T
求联系!
祝好! 展开
2个回答
展开全部
//设定到要打开的文件名到is_named
string docname='', named
integer value
value = GetFileOpenName("选择文件", &
+ docname, named, "DOC", &
+ "EXCEL文件 (*.xls),*.xls")
IF value = 1 THEN
is_named=docname
else
messagebox('信息','未选择要打开的文件')
is_named=''
return
end if
//从EXCEL读入数据
FILECOPY(is_named,'c:\temp.xls',true)
//hpb_1.stepit()
st_message.text='正在与EXCEL文件建立联系'
OLEObject zgly_oleobject
zgly_oleobject = CREATE OLEObject
result = zgly_oleobject.ConnectToObject('c:\temp.xls')
if result<>0 then
messagebox('信息','连接文件失败,请重试')
return
end if
zgly_oleobject.application.displayalerts=FALSE
//gzb工作表变量,读EXCEL指定行列数据,和程序要求的行列是否想符,ls_temp
ls_temp=zgly_oleobject.application.workbooks(1).worksheets(gzb).cells(i,1).value
if ls_temp 比较 then
messagebox()
else
end if
zgly_oleobject.close()
zgly_oleobject.DisconnectObject()
DESTROY zgly_oleobject
//写至excel文件
myoleobject = CREATE OLEObject
result = myoleobject.ConnectToObject(ls_name)
if result<>0 then
DESTROY myoleobject
messagebox('提示','不能生成临时对象,请重试'+string(result))
return
end if
st_message.visible=true
st_message.text='正在向目标文件写数据,请稍候'
for i=1 to ll_count
myoleobject.application.workbooks(1).worksheets(gzb).cells(i+2,1).value=dw_1.getitemstring()
next
myoleobject.application.workbooks(1).save()
myoleobject.application.workbooks(1).close()
除非是速度要求不高,要不直接与EXCEL通信处理效率不高,建议用其他控件实现,如FORMLUA ONE 控件等。
string docname='', named
integer value
value = GetFileOpenName("选择文件", &
+ docname, named, "DOC", &
+ "EXCEL文件 (*.xls),*.xls")
IF value = 1 THEN
is_named=docname
else
messagebox('信息','未选择要打开的文件')
is_named=''
return
end if
//从EXCEL读入数据
FILECOPY(is_named,'c:\temp.xls',true)
//hpb_1.stepit()
st_message.text='正在与EXCEL文件建立联系'
OLEObject zgly_oleobject
zgly_oleobject = CREATE OLEObject
result = zgly_oleobject.ConnectToObject('c:\temp.xls')
if result<>0 then
messagebox('信息','连接文件失败,请重试')
return
end if
zgly_oleobject.application.displayalerts=FALSE
//gzb工作表变量,读EXCEL指定行列数据,和程序要求的行列是否想符,ls_temp
ls_temp=zgly_oleobject.application.workbooks(1).worksheets(gzb).cells(i,1).value
if ls_temp 比较 then
messagebox()
else
end if
zgly_oleobject.close()
zgly_oleobject.DisconnectObject()
DESTROY zgly_oleobject
//写至excel文件
myoleobject = CREATE OLEObject
result = myoleobject.ConnectToObject(ls_name)
if result<>0 then
DESTROY myoleobject
messagebox('提示','不能生成临时对象,请重试'+string(result))
return
end if
st_message.visible=true
st_message.text='正在向目标文件写数据,请稍候'
for i=1 to ll_count
myoleobject.application.workbooks(1).worksheets(gzb).cells(i+2,1).value=dw_1.getitemstring()
next
myoleobject.application.workbooks(1).save()
myoleobject.application.workbooks(1).close()
除非是速度要求不高,要不直接与EXCEL通信处理效率不高,建议用其他控件实现,如FORMLUA ONE 控件等。
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询