经过查找资料和研究其他网页的实现方法,以下是我认为的网页报表原理和解决方案,以及他们之间的优缺点。
一:总的原理
1. 利用Activex 报表控件直接读取页面内容,通过控件的一些方法即时生成报表,然后利用控件预览打印
2. 利用组件执行相关操作,然后生成报表文件,再调用控件来预览打印该报表文件
3. 调用IE自带的方法进行打印,这种方法不适合商务应用
二:解决方案
1. ActiveReports的实现方法
只能预览打印已有的报表文件,这种情况下可以实现多页打印,但网页不能生成报表文件,如果能象原理1中那样即时生成报表则不能实现多页打印
2. 大部分资料的实现方法
基本是按照原理1做的,所以他们的输出没有做分页处理,这样出来的报表可以分页,但是对于网页来说不是很可取。
3. 水晶报表的实现方法
原理2的方法,通过其自己的组件根据不同的操作生成报表文件到指定目录,然后调用水晶报表的预览控件预览打印。
三:比较
1. ActiveReports的预览打印控件比水晶报表以及第三方的预览打印控件美观且易操作
2. 水晶报表能根据用户的操作生成报表文件,这是难点,应该也是其他软件没有做到的原因,如报表过多对服务器有一定的负荷,由于不是通过程序设计出来的报表,所以比较简陋,不够美观
3. 除了直接调用IE的打印功能外,其他的所有方法都需要ActiveX控件支持,客户端都需要注册预览打印控件
四:总结
通过查找资料以及查看实例的研究,得出如下本人的观点:
要对数据库的操作同时,实现象软件一样的打印功能,目前还没有完美的解决方案,也是网络应用存在的共同问题,在没有更好的技术出现前,应该只能先生成,后显示,也就是水晶报表的实现方法,但教烦琐,还有些不尽人意之处,同时水晶报表的组件文档不够全面,使用还要通过摸索,但在已知软件中属于唯一较好的解决方案,在实际应用中可以采用。