发布网友 发布时间:2022-05-01 17:46
共2个回答
热心网友 时间:2022-06-20 13:02
用下面两点试试:
.PSR是PB的一种报表保存的格式。
导入PB中之后再导出到Excel中。
要是不行再按下面的方法试试:
PB(PowerBuilder)有一种以PSR结尾的特殊的保存报表的文件格式(本文简称作PSR文件)。当报表以PSR格式另存出来后,我们常常会不知道用什么方法再次打开它。
下面将介绍打开的办法:
1.先新建一空的库文件(PBL文件),这里命名为psropen,在库文件中的应用也命名为psropen。
2.再创建一窗口w_psropen,稍微调一下它的属性,如width,height,title等。
3.在窗口中添加按钮cb_1,cb_2,cb_3,cb_4,分别命名“另存为”,“打印”,“选择文件”,“返回”。
4.在窗口中添加一数据窗口dw_1。
5.另存为按钮clicked的代码:
String ls_File, ls_Path, ls_Ext
GetFileSaveName("Save Report", ls_Path, ls_File, "psr", "PSReport Files
(*.psr),*.psr, " + &
"Text Files (*.txt),*.txt, HTML Files (*.htm),*.htm, Excel5 File
(*.xls),*.xls")
If Trim(ls_Path) <> "" Then
ls_Ext = Lower(Right(ls_Path, 3))
Choose Case ls_Ext
Case "psr"
dw_1.SaveAs(ls_Path, PSReport!, True)
Case "txt"
dw_1.SaveAs(ls_Path, Text!, True)
Case "htm"
dw_1.SaveAs(ls_Path, HTMLTable!, True)
Case "xls"
dw_1.SaveAs(ls_Path, Excel5!, True)
Case Else
MessageBox("Save Report", "The type of file saved is identified by
the extension. " + &
"Use '.psr' for PSReport, '.txt' for Text, '.htm' for HTML
Table, or '.xls' for & Excel5 ", Exclamation!, OK!)
Return
End Choose
End if
6.选择文件按钮clicked的代码:
String ls_File, ls_Path, ls_Ext
long c =0,li_len,li_pos
GetFileOpenName("打开PSR报表", ls_Path, ls_File, "psr", "PSReport Files
(*.psr),*.psr, " )
If Trim(ls_Path) <> "" Then
ls_Ext = Lower(Right(ls_Path, 3))
Choose Case ls_Ext
Case "psr"
dw_1.setredraw(false)
dw_1.dataobject = ls_path
dw_1.setredraw(true)
dw_1.modify("datawindow.print.preview=Yes")
Case Else
MessageBox("打开PSR报表", "本程序只能打开.PSR文件! ", Exclamation!,
OK!)
Return
End Choose
End if
7.打印按钮clicked代码:dw_1.print()
8.返回按钮clicked代码:close(parent)
9.在应用psropen的open事件中加入: open(w_psropen)。然后保存并运行,大功告成啦!
注意:
1、在窗口中特别加入了一个“另存为”的按钮,以提示PSR文件格式是怎样生成的。另外当数据窗口的预览属性为假时,PSR文件的数据还可以修改!修改后再保存成相同文件名便实现了修改PSR文件数据的功能(只要是原来数据窗口另存出来时可修改的部分均可实现修改)。
2、PBDWE60.DLL,PBVM60.DLL是支持本程序的必须文件。
3、本程序在PB6.5下调试通过。
热心网友 时间:2022-06-20 13:02
.PSR是PB的一种报表保存的格式,这个东西不难做,你可以试试。导入PB中然后再导出到Excel中,东西不复杂。