首先第一步贴上项目截图(少了一个rpt_report文件夹,因为是网上的所以这里没加,各位可以加下):声明该项目是网上下载。(比较简单,纯属偷懒,有现成环境)。可以自己修改,需要注意的就是蓝色标记的地方。报表存放的位置可以根据配置文件配置存放,下面有介绍。

第一:crystalreportviewers11这个文件夹可以通过官方网站中软件中获取,软件名称为(CR2008_SP1_55225)获取的方法是安装软件,软件会提供java显示水晶报表所需的所有文件,安装后的目录为:

这里是crystalreportviewers12,版本比我这里的高,我用的是网上的为crystalreportviewers11版本的。安装后就可以用这个制作水晶报表了。

第二:其中web.xml需要注意的地方就是:添加如下代码

SampleWeb

crystal_image_uri

/crystalreportviewers11

crystal_image_use_relative

webapp

/crystal-tags-reportviewer.tld

/WEB-INF/crystal-tags-reportviewer.tld

crystal-tags-reportviewer.tld上面截图没有不好意思。可以自己添加下

第三:CRConfig.xml配置如下:

../../rpt_report

10

AV864-01CS00G-0ZG518J

具体../../rpt_report的含义自己可以百度,我在这里说下我配置的意思是,水晶报表加载的报表文件也就是rpt文件的路径在WebRoot中的rpt_report文件夹中若配置成../..就是说明加载的rpt文件在webroot下,具体rpt文件放在哪里可以自己灵活配置。

完成如上步骤可以算是水晶报表在myeclipse中的环境算是搭建完成。

下面是显示最简单的报表(非动态数据)

basic.jsp

CrystalReportViewer crv = new CrystalReportViewer();

JPEReportSourceFactory jrsf = new JPEReportSourceFactory();

crv.setReportSource(jrsf.createReportSource("报表2.rpt",request.getLocale()));

crv.processHttpRequest(request,response,application,null);

%>

该jsp放在webroot下就可以了。我们这里加载的是“报表2.rpt”文件,该文件放在WebRoot中的rpt_report文件夹中,也就是刚才我们配置的路径。

若报表能够显示那说明我们从头到现在都没有问题,其中报表自己制作。至于如何制作可以参考

关键代码是

第一获取数据源大家应该没有什么问题。

/** *//**

* 连接数据库,通过sql查询语句进行查询,返回结果集

*/

private static ResultSet getResultSetFromQuery(String query, int scrollType)

throws SQLException, ClassNotFoundException ...{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

final String DBUSERNAME = "username";

final String DBPASSWORD = "password";

final String CONNECTION_URL = "jdbc:microsoft:sqlserver://localhost:1433;database=dname";

java.sql.Connection connection = DriverManager.getConnection(CONNECTION_URL, DBUSERNAME, DBPASSWORD);

Statement statement = connection.createStatement(scrollType, ResultSet.CONCUR_READ_ONLY);

return statement.executeQuery(query);

}

将查询出来的数据放到报表源中也就是reportClientDoc.getDatabaseController().setDataSource(resultSet,tableAlias, "resultsetTable");

/** *//**

* 通过sql语句过滤报表数据,在.net就不用怎么惨了

*/

public boolean isReportSourceInSession(String session_name,HttpSession session) throws ReportSDKException, SQLException, ClassNotFoundException...{

boolean flag=false;

try ...{

//打开水晶报表

ReportClientDocument reportClientDoc = new ReportClientDocument();

reportClientDoc.open(REPORT_NAME, 0);

//sql查询语句,返回的字段数必须跟报表里面的一样,不能多也不能少,并且字段的类型要跟报表的一样,其他不管是什么数据都可以

//from 表这里要填完整,如数据库名.dbo.数据库表,最好做个别名 String query = "select tt.test_1,tt.test_2,tt.test_3,tt.test_4 from dname.dbo.test tt";

ResultSet resultSet = this.getResultSetFromQuery(query,ResultSet.TYPE_SCROLL_INSENSITIVE);

String tableAlias = reportClientDoc.getDatabaseController().getDatabase().getTables().getTable(0).getAlias();

//把结果集放进报表里,将会自动产生一个datasource

reportClientDoc.getDatabaseController().setDataSource(resultSet,tableAlias, "resultsetTable");

session.setAttribute(session_name, reportClientDoc.getReportSource());

flag=true;

return flag;

} catch (Exception e) ...{

// TODO: handle exception

e.printStackTrace();

return flag;

}

最后动态显示的jsp代码为:

JRC_ResultSet_DataSource jrcd=new JRC_ResultSet_DataSource("resultSet.rpt");

if(!jrcd.isReportSourceInSession("reportSource",session)

response.sendRedirect("error.html");

CrystalReportViewer crViewer=new CrystalReportViewer();

crViewer.setOwnPage(true);

crViewer.setOwnForm(true);

crViewer.setPrintMode(CrPrintMode.ACTIVEX);

Object reportSource=session.getAttribute("reportSource");

crViewer.setReportSource(reportSource);

crViewer.processHttpRequest(request,response,this.getServletConfig().getServletContext(),null);

%>

这里值得我们注意的是关于数据源和查询的数据的字段。

第一:数据源必须和制作报表的时候用的数据源是一样的,也就是报表用的是sql2005,java连接的也是sql2005,

若用的是oracle,java连接的也是oracle。关于查询的sql语句中使用的字段也必须和制作报表用到的字段一模一样。

在制作报表的时候我们可能会用到某种表的某3个字段,在后台的sql语句我们也必须使用这个3个字段。

上述只是涉及到单表多表可能会比较麻烦一点。

本人先介绍到这里,至于多表综合显示看各位的需求了,若大家都需要我帮助各位解答的话,那各位留言吧。若有说的不够好的地方希望大家多多指正,谢谢。

水晶报表java_JAVA水晶报表从环境搭建到创建动态水晶报表相关推荐

  1. JAVA水晶报表从环境搭建到创建动态水晶报表

    首先第一步贴上项目截图(少了一个rpt_report文件夹,因为是网上的所以这里没加,各位可以加下):声明该项目是网上下载.(比较简单,纯属偷懒,有现成环境).可以自己修改,需要注意的就是蓝色标记的地 ...

  2. 保姆级教学——集群环境搭建及创建集群

    保姆级教学--集群环境搭建及创建集群 新建虚拟机 一些默认,加载镜像开启虚拟机,在安装位置选择自己目录,然后建立分区,首先添加 挂载点,类型标准分区,文件系统ext4 加载分区,期望给2G, 类型标准 ...

  3. [ExtJs6] 环境搭建及创建项目

    1. 环境搭建 sencha cmd 和 extjs6 sdk. sencha cmd: https://www.sencha.com/products/extjs/cmd-download/ ext ...

  4. 问题一:CodeBlocks环境搭建及创建第一个C++程序

    某业界大牛推荐最佳的途径是从raytracing入门,所以本屌开始学习<Ray Tracing In One Weekend>. 该书是基于C++的.本屌从未学过C++.感觉告诉我,要先搭 ...

  5. 谷粒商城项目篇1_分布式基础篇_分布式基础概念、环境搭建、创建项目

    写在前面 为丰富项目经验,特此学习B站开源视频<全网最强电商教程<谷粒商城>对标阿里P6/P7,40-60万年薪>希望通过此学习能巩固所学,将技术栈串接起来. 此项目三个阶段 ...

  6. 1.RN环境搭建,创建项目,使用夜神模拟调试

    1.环境搭建(Yarn.React Native 的命令行工具(react-native-cli)) npm install -g yarn react-native-cli 具体参考 参见官方(中文 ...

  7. c#水晶报表连接mysql_C# 用vs2008连接SQL数据库做动态水晶报表

    博主是个还在上大学的新手,如果有什么说错的地方请务必帮我指出来,谢谢! 想要完成一个能够动态改变其中数据的水晶报表,可以通过创建一个 数据的中转站来存储和输出数据的方式. 借由这个中转站,我们可以通过 ...

  8. 【Ant Design Pro 一】 环境搭建,创建一个demo

    技术交流qq群   173683895 搭建 Ant Design Pro 的前期准备:你的本地环境需要安装 cnpm.node. 注:代码块中的 $  代表: $后面是在命令行输入的命令,举例 $ ...

  9. JSP开发之TomcatEclipse环境搭建(创建项目运行一个简单的jsp文件)

    通过之前的内容,咱们现在已经安装好了Tomcat服务器了,但是为了项目创建和扩展,咱们还需要使用Eclipse这个东西来搭建一个编码环境.废话不多说,咱们可以在https://www.eclipse. ...

  10. Activiti7工作流引擎-环境搭建及创建数据库

    第1章 什么是工作流 1.1工作流介绍 工作流(Workflow),就是通过计算机对业务流程自动化执行管理.它主要解决的是"使在多个参与者 之间按照某种预定义的规则自动进行传递文档.信息或任 ...

最新文章

  1. AndroidManifest.xml配置文件详解
  2. Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结
  3. 新技术让SAP HANA向“通用”平台迈进
  4. 轻松学MVC4.0–2 创建用户列表页面
  5. python自动获取天气_用python获取天气数据,并作定时播报
  6. 我的学习开发环境,呵呵!
  7. UpdatePanel无法导出下载文件
  8. 将自己的dcm数据制作成LUNA16数据集提供数据样式。
  9. ASP.NET URL Rewrite. URL重写
  10. socket通信,server与多客户端通信(二)
  11. PostgreSQL与MySQL语法对比总结
  12. python源代码怎么用_Python写完代码怎么用
  13. C++ 版本 30:字符环
  14. 卸载 Creative Cloud 桌面应用程序(macOS、Windows)
  15. 黑苹果(Hackintosh)驱动Intel HD 4600
  16. win7设置护眼模式
  17. windows子系统激活root权限
  18. QT教程—1.1Qt入门
  19. 拓嘉恒业:拼多多新品如何推广
  20. cannot import name ‘six报错

热门文章

  1. codevs1260 快餐问题
  2. 简述数据可视化制作流程
  3. P1975 [国家集训队]排队
  4. 我的计算机无法远程连接桌面,远程桌面无法连接怎么办?windows 无法使用远程桌面连接的解决方法...
  5. 静态路由配置(目的下一跳)
  6. 【iPhone】解决照片无法编辑或删除的问题
  7. java将图片压缩到指定大小以内并保存图片
  8. Skype 8.34 Windows7-64bit Ubuntu 16.04安装试验
  9. 苹果笔记本访问服务器共享文件夹,mac查看win7共享文件怎么操作_mac如何访问win7共享文件夹-win7之家...
  10. 工程管理管理流程系统