VFP 9.0 的 _ReportListener.vcx/ReportOutput 转出 Html 格式文件时不支持双字节字符的,它是 UTF-8 编码。
据说国内有位大佬改了几处代码,勉强可以用,好像还是不理想。
还是用巴西人搞的 FoxyPreviewer,网站在:http://foxypreviewer.
它是免费开源的,是 _ReportListener.vcx 的升级版和替代版,功能强得多。
还不需要 MSXML 4.0 文件。
比如生成 Html 文件:
Do Locfile("FoxyPreviewer.App")
&& WITH "C:\YourAppFolderHere\"
Report Form MyReport.frx ;
Object Type 15 ;
&& Object : 10 = 标准 PDF, 11 = 图形 PDF, 12 = RTF, 13 = XLS, 14 = HTML(不支持双字节字符), 15 = HTML(支持双字节字符)
To File Report.Html ;
&& 目标文件/输出文件
NoDialog ;
Preview
&& 生成后用关联软件打开/预览
它里面还有很多多报表合并的示例,就像楼主的题意一样,可以运行任意数量的报表,并合并成 PDF/Html/Dox 等文件。
比如三个报表合并成一个 PDF 的示例:
DO LOCFILE("FoxyPreviewer.App")
* To merge reports, the trick is to use the clauses
* NOPAGEEJECT NORESET
REPORT FORM LOCFILE(_Samples + "\Solution\Reports\Colors.frx") ;
OBJECT TYPE 10 NOPAGEEJECT NORESET TO FILE "c:\Test10.pdf"
REPORT FORM LOCFILE(_Samples + "\Solution\Reports\Wrapping.frx") ;
OBJECT TYPE 10 NOPAGEEJECT
REPORT FORM LOCFILE(_Samples + "\Solution\Reports\Percent.frx") ;
OBJECT TYPE 10 PREVIEW
试试看.