JAVA访问水晶报表问题

gainlsy1 2003-08-20 01:53:41
我如何能够动态的把一个Recordset集合放到水晶报表中去?谢谢
...全文
153 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
biao001 2003-12-01
  • 打赏
  • 举报
回复
水晶报表的设计过程说明
(二)B/S结构部分(开发工具:JSP)
概述:水晶报表在B/S结构中可以生成两种格式的文件供IE浏缆,一种是html格式(预览状态),另一种
是pdf格式(打印状态).html格式可以方便的浏缆,但没提供打印功能.pdf格式可以方便的
浏缆,打印,但客户端必须安装"Adobe Reader5.1 "或以上版本,以便打开pdf文件.
开发环境:Windows2000,Tomcat4.0,水晶报表9.0(Crystal Reports 9 Developer Edition 和
Crystal Enterprise 9 Report Application Server),Adobe Reader5.1
运行环境:Windows2000,IE6.0,Adobe Reader5.1
步骤: (1)新建一个文件夹做为工作目录
如:D:\CrystalReport
(2)设置报表的工作目录
(I)开始-->程序-->CrystalEnterprise 9-->Tools-->RAS Configuration Manager
(II)在Report Directory中输入报表的工作目录,如:D:\CrystalReport
(3)在工作目录下建立如下结构的文件夹
d:\CrystalReport\
|
|--WEB-INF\
|--classes\
|--lib\
(4)收集所有类库
(I)把Tomcat的类库增加到本环境中
如:拷贝C:\Program Files\Apache Tomcat 4.0\webapps\ROOT\WEB-INF\lib\到
d:\CrystalReport\WEB-INF\lib\
(II)把水晶报表的类库增加到本环境中
如:拷贝C:\Program Files\Common Files\Crystal Decisions\2.0\jars\到
d:\CrystalReport\WEB-INF\lib\
(5)增加水晶报表所要用到的文件
如:拷贝C:\Program Files\Common Files\Crystal Decisions\2.0\crystalreportviewers到
d:\CrystalReport\crystalreportviewers
(6)制作报表并把它存在工作目录下,如:d:\CrystalReport\SimpleReport.rpt
(7)编写jsp程序并把它存在工作目录下,如:d:\CrystalReport\Report_html.jsp(代码请参考我提供的例子)
例:(I)html格式(预览状态)
主程序:Report_html.jsp
============================Report_html.jsp=========================
<%@ page import="com.crystaldecisions.sdk.occa.report.application.*,
com.crystaldecisions.sdk.occa.report.data.*,
com.crystaldecisions.sdk.occa.report.lib.*,
com.crystaldecisions.report.web.viewer.*"
%>
<%@ page contentType="text/html;charset=gb2312" %>
<html>
<head>
<title>Simple Preview Report</title>
</head>
<body>
<%
String reportName ="SimpleReport.rpt";
%>
<%@ include file="AlwaysRequiredSteps.jsp" %>//调用公用步骤模块
<%@ include file="CrystalReportsInteractiveViewer.jsp" %>//调用预览模块
</body>
</html>
==========================End Report_html.jsp=======================


公用步骤模块:AlwaysRequiredSteps.jsp
======================AlwaysRequiredSteps.jsp=======================
<%
/*CREATE THE REPORT APPLICATION SESSION, SET THE REPORT APP SERVER AND OPEN THE REPORT*/

String temp1 = (request.getRequestURI()).replace('/', '\\');
int lastTemp=temp1.lastIndexOf("\\");
temp1=temp1.substring(1,temp1.length());
String path = request.getRealPath("/");
ReportAppSession ra = new ReportAppSession();

ra.createService("com.crystaldecisions.sdk.occa.report.application.ReportClientDocument");
ra.setReportAppServer("127.0.0.1");
ra.initialize();
ReportClientDocument clientDoc = new ReportClientDocument();
clientDoc.setReportAppServer(ra.getReportAppServer() );
clientDoc.open(path + reportName, OpenReportOptions._openAsReadOnly);
%>
===================End AlwaysRequiredSteps.jsp =====================


预览模块:CrystalReportsInteractiveViewer.jsp
==================CrystalReportsInteractiveViewer.jsp================
%
/*INSTANTIATE THE VIEWER AND DISPLAY THE REPORT THROUGH THE INTERACTIVE VIEWER*/

CrystalReportInteractiveViewer viewer = new CrystalReportInteractiveViewer();
viewer.setName("Crystal_Report_Interactive_Viewer");
viewer.setReportSource(clientDoc.getReportSource());
viewer.processHttpRequest(request, response, getServletConfig().getServletContext(), out);
viewer.dispose();
%>
===============End CrystalReportsInteractiveViewer.jsp================


(II)pdf格式(打印状态)

主程序:Report_pdf.jsp
============================Report_pdf.jsp=========================
<%@ page import="com.crystaldecisions.sdk.occa.report.application.*,
com.crystaldecisions.sdk.occa.report.data.*,
com.crystaldecisions.sdk.occa.report.lib.*,
com.crystaldecisions.sdk.occa.report.exportoptions.*,java.io.*"
%>
<%@ page contentType="application/PDF" %>
<%
/*WORKING WITH THE REPORT APPLICATION SERVER AND JSP TO EXPORT A REPORT TO THE BROWSER*/
String reportName ="SimpleReport.rpt";
%>
<%@ include file="AlwaysRequiredSteps.jsp"%>//调用公用步骤模块
<%
ByteArrayInputStream byteIS = (ByteArrayInputStream)clientDoc.getPrintOutputController().export(ReportExportFormat.PDF);
byte[] buf = new byte[2000 * 1024];
int nRead = 0;
while ((nRead = byteIS.read(buf)) != -1) {
response.getOutputStream().write(buf, 0, nRead);
}
response.getOutputStream().flush();
response.getOutputStream().close();
%>

最后形成的目录结构如下:
d:\CrystalReport\
|
|--crystalreportviewers\
|--WEB-INF\
| |--classes\
| |--lib\
|--Report_html.jsp
|--Report_pdf.jsp
|--AlwaysRequiredSteps.jsp
|--CrystalReportsInteractiveViewer.jsp
|--SimpleReport.rpt

发布:(1)在服务器上安装必要的软件
Windows2000,Tomcat4.0,水晶报表9.0(Crystal Enterprise 9 Report Application Server),Adobe Reader5.1
(2)备份Tomcat目录下的ROOT
(3)把你工作目录下的所有文件拷贝到ROOT目录下
(4)运行Tomcat
(5)打开IE,在地址栏中输入"http://127.0.0.1:8080"
竹舟
Fortune2k1 2003-09-12
  • 打赏
  • 举报
回复
http://www.crystaldecisions.com/products/dev_zone/java/downloads.asp
there are some examples.
millerw 2003-08-29
  • 打赏
  • 举报
回复
其实Crystal 并不贵,你可以直接找他们的代理询问,只是要装得象马上要买,保证让你大吃一惊!
zorrosoft 2003-08-27
  • 打赏
  • 举报
回复
我发现到处都有这个Webcola的影子,一定是Style Report的Sales!!
SR卖这么贵一套,据我了解大概在20-30万左右吧,怎么还用在这里当马甲?
而且“和您的J2EE应用相整合,也就10分钟吧”,这纯粹是外行人说话,如果说用多少行代码就可以集成一个报表还差不多,你懂怎么做报表吗?你知道真正怎么与J2EE集成吗?
webcola 2003-08-27
  • 打赏
  • 举报
回复
Crystal Report不是用JAVA开发的,这点我想不会有人有疑义吧? 对JAVA的支持只是提供了
一些接口而已,将Crystal Report集成到您的J2EE应用中去,你可以试试,无数的英雄败下阵来,如果你可以的作到,也可以给这些落败英雄们瞻仰瞻仰;Style Report是纯JAVA开发的,功能异常强大,和您的J2EE应用相整合,也就10分钟吧
TomClus8888 2003-08-27
  • 打赏
  • 举报
回复
webcola():你的结论有根据吗?我们已经研究它超过一个月啦,
advanced and enterprise 起码从版本9.0开始完全支持JAVA开发啊。
RAS提供有专门的JAVA SDK,不论是在JAVA中还是JSP中,都没有问题啊。
我们的感觉只是价格比较贵,功能还是蛮强的。
zorrosoft 2003-08-27
  • 打赏
  • 举报
回复
呵呵,“这是我们听到的问话”,瞧瞧,怎么连客户说了什么都知道?还在这儿谈什么报表领域,Crystal卖多少钱呢,不是Style Report的Sales是什么?哈哈,真是可笑!你们就是这么做销售的?
不管Crystal如何,它和Style Report我是都不会采用,呵呵,咱中国人用不起呀!
TomClus8888 2003-08-27
  • 打赏
  • 举报
回复
呵呵,怎么争论起这个来啦?不过webcola提出的集成到J2EE去,我好象没有见过这种需求。
另外,有点疑惑:全部用JAVA写的东西性能有保障吗?访问的数据源有哪些呢?
想必webcola比较熟悉Style Report,可否介绍一些?
webcola 2003-08-27
  • 打赏
  • 举报
回复
一个给国内某大银行做应用的公司,一直用Crystal Report,和他们的J2EE应用集成一直很难实现,用了Style Report,这种整合变的异常的简单,10分钟的事,"用了Style Report为什么变的这么简单",这是我们听到的问话。Crystal Report一直期望傍着微软,走.net路线,结果怎么样?只能被别人收购了,这点你不会不知道吧?这点报表领域的情况都不了解,你也在这里理直气壮质问我?Crystal Report Server端一个CPU卖多少钱,知道吗?您可以给大家说说。
webcola 2003-08-25
  • 打赏
  • 举报
回复
9.0没有对JAVA的真正支持,用用就知道了!许多Crystal Report的用户都转用Style Report了
webcola 2003-08-25
  • 打赏
  • 举报
回复
由于被微软抛弃,水晶报表只能把自己卖掉了,7月份Crystal Decisions已经被BO收购
TomClus8888 2003-08-21
  • 打赏
  • 举报
回复
http://www.crystaldecisions.com
9.0狂support java development.
TomClus8888 2003-08-20
  • 打赏
  • 举报
回复
小菜。到水晶报表的官方网站去转转,包你大有收获。
www.crystaldecisions.com
gainlsy1 2003-08-20
  • 打赏
  • 举报
回复
9以上的Advance版本支持,有客户端,和RAS通信的
cxl528 2003-08-20
  • 打赏
  • 举报
回复
据我所知,水晶报表已经被微软买下了,不支持JAVA的!
gboy2003 2003-08-20
  • 打赏
  • 举报
回复
没做过

帮顶一下^

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧