针对Java语言制作复杂报表存在一定难度的问题,以交叉表为例,讨论了在Java中如何实现复杂报表的2种方法。方法1是在开发端利用PowerBuilder的数据窗口制造交叉报表,通过Visual age for Java调用组件或程序文件方式生成交叉报表,即可通过PowerBuilder数据窗口的html页面在Web中处理该表。并提供了调用PowerBuilder生成的EXE可执行文件和DLL动态连接库的执行过程和相应程序。方法2是在后端,即数据库端,通过SQL Server 7.0的存储过程建立临时表,并聚合后台数据值和列名等生成交叉表。最后利用其Web PubliShing功能将交叉报表发布到Web页面以实现。