PB6.5是客户/服务器体系结构下的优秀前台开发工具,具有极强的数据处理能力,是广大程序员开发数据库产品的首选利器。但是在实际开发MIS系统时,我们对它的报表输出能力深感欠缺。PB的报表画板和DataWindow同出一辙,有Freeform、Grid等几种格式,Grid格式有表线,但格式死板,表头也难处理,Freeform需要自己画线,很麻烦,尤其是带复杂表格的固定式报表,为了对齐表线,花费了大量时间,而且效果并不好。
Microsoft的office产品基本上是每机必备的产品,它的Excel对表格有极强的处理能力,又内嵌功能强大的VBA宏语言。对上述难于在PB中设计的报表,我们可以事先在Excel中作好空模板,然后在PB中将数据填充到空表中,在PB中或Excel中打印即可,减少设计报表时间。其实PB对Excel的填充语法,类似VBA对sheets的操作。对于熟悉Vfp的朋友,也可在VFP中调用,使用相应的VFP语言也可以得到满意的结果。虽然pb已经升级到了pb8.0甚至9.0但是其6.5版本的稳定和朴实无华,至今仍然另我难以舍弃。具体代码如下:
//声明 Ole对象
Oleobjcet ole1
//实例化ole对象
Ole1 = creat oleobjct
Ole1.ConnectToNewObject(“Excel.Application”)
//设置标题
Ole1.caption = “ 应用标题 ”
//打开空表模板
Ole1.Workbooks.Open(“c:\zql.xls”)
//选择相应工作表
Ole1.Worksheets(“zyx”).Select
//值填充
Ole1.cells(1,1).Value = 相应值
…………
//公式填充
Ole1.range(“A10”).FormulaR1C1 = “=R[-9]”
//保存
Ole1.Save
//退出
Ole1.Quit
该代码在win98 、 winnt4 和 pb6.5中运行通过。
--------------------End--------------------
|