1 环境部署
1.1 水晶报表插件

现在我搭建的水晶报表的开发环境是eclipse,首先,我们要下载水晶报表的插件,下载地址是:

http://diamond.businessobjects.com/node/450
其中上面有三种插件:

· Download All-in-one Installation 是带有Crystal Reports插件的eclipse3.2完整版; (现在使用)

· Download Crystal Reports for Eclipse Runtime - Manual Installation 这是纯Crystal Reports插件;(建议)

· Download and Install Crystal Reports for Eclipse via the Update Manager 通过eclipse的更新来安装CR4E;
1.2 水晶报表的设计

(1)新建一个crystal report web project

(2)新建一个blank report

(3)空报表创建完成后,就进入了报表设计界面,首先,连接数据库,在batabase explore面板新建一个连接,依次填入下面的内容:

选择相应的数据库(如:Oracal 9);

Connection Name:可填可不填; 


 Databasebase:要连接的数据库的名称; 


 JDBC driver class:(如:oracle.jdbc.driver.OracleDriver) 


 Class location:(如:载入classes12.jar) 


 Connection URL:(如:jdbc:oracle:thin:@10.16.11.252:1521:obd) 


 User information:填入用户名和密码;


最后完成。

(4)设计报表:设计界面由四个面板Layout,Formulas,Data,Preview。

Layout:设计界面,Formulas:公式设计界面,Data:数据表的存放界面,Preview:预览界面。

在batabase explore面板里选择添加的表,拖到Data面板内。要插入字段右击该字段选择insert,可以进行ctrl和shift操作。

(5)报表的其他详细的设计细节不在本文档中详细介绍。
1.3 水晶报表的web部署

第一种方法傻瓜式水晶报表的jsp显示:

创建好报表后,直接右击水晶报表crystal report——〉create viewer jsp自动生成代码。

第二种自定义报表源式:

1. 将一个指向查看器标记库描述符文件的引用添加到 JSP 页面的顶部。同时必须确保相应的 JAR 文件和附加支持文件都存在。

<%@ import="com.crystaldecisions.reports.sdk.ReportClientDocument"> 


 <%@ taglib uri="/crystal-tags-reportviewer.tld" prefix="crviewer" %>



注意: 可以为 prefix 属性指定任何名称。prefix 确定要使用什么标记前缀来访问标记库的标记。

2. 创建报表源,设置报表源的属性,把报表源缓存于session变量中(必需的)

<% 

 final String reportName="rpt/Sample.rpt"; 

 ReportClientDocument crDoc = new ReportClientDocument(); 

 crDoc.open(reportName,0); 

 crDoc.getDatabaseController().logon("sa",""); 

 session.setAttribute("reportSource",crDoc.getReportSource()); 

 %> 


 注意:如果viewer标记的reportSourceVar属性的默认值是crystalReportSource,如果用这个做session变量的名称,那可以不用设置reportSourceVar。 


 3. 创建一个开始 viewer 标记。在此标记中,指定查看器名称和报表源的类型。 


 <crviewer:viewer viewerName="CrystalViewer" reportSourceType="pageServer" reportSourceVar="reportSource"> 


 4. 结束 viewer 标记。 JSP 页面现在即可查看名为 Sample的报表。 


 </crviewer:viewer>