hur.cn - 华软网

 热门搜索

含report的嵌套报表转EXCEL

  作者:未知    来源:网络    更新时间:2018/6/13
有没有方法将含有report嵌套报表的打印数据窗口转成EXCEL?最好能有源码或函数
------华软网友回答------
DW2XLS
------华软网友回复------
去网上下载dw2xls,能满足你的要求
------华软网友回复------
好像dw2xls不能导嵌套的报表诶
------华软网友回复------
我这里用的就是dw2xls,不能导。根本提不到数据
不知道有没有别的方法,关键就是得到report的对象
------华软网友回复------
这个问题我也很感兴趣,支持一下
------华软网友回复------
以前导出过复合数据窗口,今天试好像不成功,要修改一下代码

自己试一下吧,没时间帮你试了,

取report的对象可以用 ,dwcontorl.object.datawindow.objects
------华软网友回复------
关注
------华软网友回复------
關注,PB和Excel通訊一直是PB使用者的問題。
------华软网友回复------
OLEObject不行嘛?
------华软网友回复------
可以用ole控件吗?例如FORMONE6,如果是用这个我可以提供程序,如果不是,我就不会了.
跟着学习新方法......
------华软网友回复------
你用的是PB的哪個版本? 如果是8.0以上最好處理.如果只是6.5,則有一點風險:
datastore ds_child
ds_child = create datastore
ds_child.dataobject  = dw_report.Describe(reportname+".DataObject") // reportname是你嵌套的那個子窗口的名字
ds_child.settransobject(sqlca)
dwobject dwo   
dwo = dw_report.Object.get_attribute(reportname,FALSE) 
// PB6.5下用get_attribute(),PB7.0,8.0 以上用 __get_attribute() 
ds_child.object.data = dwo.primary[prow].object.data // 如果是8.0以上,在這行語句前可以用 try 來操作,因為如果嵌套的那個子窗口行數為空時,這句會出錯.而6.5就沒辦法了
childrowcount  = ds_child.rowcount()
temp = ds_child.Object.DataWindow.Objects
// ... 以下你就可以按正常的datastore 對它進行導出了
------华软网友回复------
前面忘記說了 
ds_child.object.data = dwo.primary[prow].object.data 
這行中的 prow 的意思你應該明白吧?是指 大數據窗口中嵌套數據窗口所在的行數.
你也可以寫成 
ds_child.object.data = dw_report.object.reportname[prow].object.data 而不用前面的 DWO .但如果用DWO,你可以寫成一個通用的函數解決這類問題. 只要多次循環就行了
------华软网友回复------
另存为HTML然后将扩展名修改为XLS,然后用EXCEL打开,看看成么?      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。