[需求]
最近在项目开发过程中,客户要求用Crystal Reports生成pdf格式的报表,并实现自动打印功能。
[实施索引]
1、创建水晶报表;
2、Java中利用报表组件包将报表结果生成pdf;
3、完成自动打印功能。
[详细步骤]
1、创建水晶报表
如果业务要求比较复杂,要先创建临时表和存储过程,假设DB是ORACLE。
1.1、创建临时表
CREATE global TEMPORARY TABLE table_name_temporary
( ......... ) on commit preserve rows;
注:这种方式确保session之间,数据互不干扰。
1.2、创建存储过程
创建包体,包体内声明游标。
根据业务逻辑,将数据保存在临时表中,返回水晶报表所需要的结果集。
1.3、创建水晶报表
以存储过程做为数据源,创建水晶报表。
2、Java中利用报表组件包将报表结果生成pdf
主要步骤如下:
(1)登录CrystalEnterprise;
(2)设置report参数,检索report;
(3)登录DB Server;
(4)输出结果到pdf。
主要代码如下:
IEnterpriseSession enterpriseSession = null;
ReportClientDocument clientDoc = null;
ISe