java中获取水晶报表

JAVA水晶报表从环境搭建到创建动态水晶报表 首先第一步贴上项目截图(少了一个rpt_report文件夹,因为是网上的所以这里没加,各位可以加下):声明该项目是网上下载。(比较简单,纯属偷懒,有现成环境)。可以自己修改,需要注意的就是蓝色标记的地方。报表存放的位置可以根据配置文件配置存放,下面有介绍。 第一:crystalreportviewers11这个文件夹可以通过官方网站中软件中获取,软件名称为(CR2008_SP1_55225) 阅读详情

我用水晶报表9做的,这是个共通页面,前面把生成好的SQL文传过来,由共通页面连接数据库执行SQL文,从而生成新的报表!  
   
  <%@   page   language="java"   pageEncoding="MS932"   %>  
  <%@   page   import="java.util.*"%>  
  <%@   page   import="com.crystaldecisions.sdk.occa.report.application.*"%>  
  <%@   page   import="com.crystaldecisions.sdk.occa.report.data.*"%>  
  <%@   page   import="java.sql.*"%>  
  <%@   page   import="oracle.jdbc.OracleDriver"%>  
  <html>  
  <head>  
  <title>Begin   Here   -   Simple   Preview   Report</title>  
  </head>  
  <body>  
  <%  
  //   

  String   path   =   request.getRealPath("/");  
  int   lastIndex   =   path.lastIndexOf("//");    
  path   =   path.substring(0,   lastIndex)   +   "//";  
  String   reportName   ="RPT/"+request.getParameter   (   "reprotName"   );  
  %>  
   
  <%  
  //  
  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);  
  %>  
  <%  
  //   
  String   dataBaseName   =   (String)request.getSession().getServletContext().getAttribute("DataBaseName");  
  //   
  String   userName   =   (String)request.getSession().getServletContext().getAttribute("UserName");  
  //   
  String   passWord   =   (String)request.getSession().getServletContext().getAttribute("PassWord");  
  //   
  String   kikName   =   (String)request.getSession().getServletContext().getAttribute("KikName");  
  //   
  DriverManager.registerDriver(new   OracleDriver());  
  java.sql.Connection   connection   =   DriverManager.getConnection("jdbc:oracle:thin:"+userName+"/"+passWord+"@"+kikName+":1521:"+dataBaseName);  
  Statement   statement   =   connection.createStatement();  
  String   sqlStatement=new   String(request.getParameter   (   "sql"   ).getBytes("iso-8859-1"),"Shift_JIS");  
   
  StringTokenizer   sqlString   =   new   StringTokenizer   (sqlStatement   ,   "@"   )   ;  
  int   j   =   0;  
  while   (sqlString.hasMoreTokens   ()   )   {  
  String   sqlS   =   sqlString.nextToken   ()   ;  
  ResultSet   results   =   statement.executeQuery(sqlS);  
  clientDoc.getDatabaseController().setDataSource(results,  
                                                                                          clientDoc.getDatabase().getTables().getTable(j).getName(),  
                                                                                          "Reports");  
                  j=j+1;                                                                    
   
  }  
  %>  
  <%  
  //   
  String   jyouken=new   String(request.getParameter   (   "jyouken"   ).getBytes("iso-8859-1"),"Shift_JIS");  
  StringTokenizer   kamoku   =   new   StringTokenizer   (jyouken   ,   "@"   )   ;  
  int   i   =   0;  
  while   (kamoku.hasMoreTokens   ()   )   {  
  String   s   =   kamoku.nextToken   ()   ;  
  s   =   s.replace   (   '☆'   ,   '~'   )   ;  
  ParameterField   tempParam   =   new   ParameterField();  
  ParameterFieldDiscreteValue   newDiscreteValue   =   new   ParameterFieldDiscreteValue();  
  ParameterFieldController   paramController;  
  //   
  Fields   paramCollection   =   clientDoc.getDataDefinition().getParameterFields();  
  ParameterField     stringParamToChange   =   (ParameterField)   paramCollection.getField(i);  
  newDiscreteValue.setValue(s);  
  Field   temp   =   (Field)paramCollection.getField(i);  
  temp.copyTo(tempParam,   false);  
  tempParam.getCurrentValues().add(newDiscreteValue);  
  i=i+1;  
  paramController   =   clientDoc.getDataDefController().getParameterFieldController();  
  paramController.modify(stringParamToChange,   tempParam);  
  }  
  %>  
   
  <%  
  //   
  session.setAttribute("oClientDoc",   clientDoc);  
  //   
  response.sendRedirect("CrystalReportsInteractiveViewer.jsp");  
  %>  
  </body>  
  </html>  

水晶报表(crystal reports)--java 这两天项目要用水晶报表(crystal reports),上网查了下资料,网上的资料不是太多. 1.安装 首先用的时候先到官网(https://www.sap.com/china/product/analytics/crystal-reports-eclipse.htm... 阅读详情

相关推荐

水晶报表Crystal Reports实例

CrystalReports水晶报表的简单应用

ForAnnuus的博客 4722

java 报表 pdf,在java中将Crystal报表导出为PDF

这更适用于自动化流程 .首先从晶体输出原始字节:ReportClientDocument reportClientDoc = new ReportClientDocument();reportClientDoc.open(sourceReportFile, OpenReportOptions._openAsReadOnly);ByteArrayInputStream byteArrayInputS...

weixin_42519126的博客 474

SpringBoot水晶报表连接Oracle导出PDF教程

目录 一、系统环境以及测试内容 1.系统环境 2.测试内容 二、设计水晶报表 1.CR2008配置jdbc (1)在数据库专家中创建新的连接 (2)输入JDBC连接信息 (3)输入用户名密码 (4)解决”未找到JDBC”驱动错误 (5)配置JDBC驱动 2.报表设计 (1)新建test.rpt报表 (2)添加参数字段 (3)设置图片地址 (4)报表预览 三、SpringBoot项目搭建 1.新建SpringBoot项目 (1)pom.xml配置 (2)添加水晶报表文件

阿瑟与非 2523

JRC(Java Reporting Component)创建报表源方法

 如何创建报表源您必须先获得一个报表源,然后才能在 JSP 页面中使用导出控件或查看器。报表源是一个对象,它代表着由导出控件和查看器使用的报表的单一实例。可以使用 Java Reporting Component、页面服务器和 RAS 来获得报表源。要使用 Java Reporting Component 来创建报表源,您必须掌握要查看或导出的报表所在的位置。通过使用相对或绝对路径

lin49940的专栏 2256

Java调用水晶报表的集成与操作指南

水晶报表是一个功能强大的报表生成工具,它允许用户创建复杂的报表,以便于数据可视化和分析。它在IT行业尤其是在企业级应用中,被广泛用于生成包含详细数据的报告。水晶报表支持从多种数据源中提取数据,包括数据库和应用程序,并可以生成多种格式的报表,如PDF、Excel、HTML等。此工具提供了一个直观的设计界面,开发者可以通过拖放元素来设计报表的布局。在接下来的章节中,我们将深入探讨水晶报表的设计工具、集成到Java项目中的方法、以及如何设计模板和连接数据源。

weixin_33068055的博客 1303

水晶报表Pull模式实战教程:从零掌握动态报表开发

水晶报表(Crystal Reports)是一款成熟且广泛应用于企业级开发的报表工具,它能够无缝集成于多种开发平台,如 .NET、Java 等,支持复杂的数据展示与分析功能。其核心优势在于灵活的报表设计界面与强大的数据绑定能力。在数据获取方式中,Pull模式作为其重要机制之一,通过应用程序主动从数据源拉取数据,赋予开发者更高的控制权与灵活性。Pull模式的核心特点是:数据获取由报表引擎主动发起,通常通过DataAdapter或DataSet进行数据绑定。

weixin_35705784的博客 979

java使用水晶报表,java处理水晶报表

SAP给的sdk是用jsp来预览和下载通过rpt模板生成的文件. 可以用但普适性不强(需要通过httpresponse来下载文件).jsp的那套看SAP给的sample就可以了下面给讲java直接生成pdf, 分别讲下两种赋值方式.参数字段 方式赋值 reportClientDoc = new ReportClientDocument();String report = "d:/template/...

weixin_35949256的博客 612

java开发水晶报表所有类包及导出PDF实例

java开发水晶报表所有类包及导出PDF实例

水晶报表java poi_Java操作水晶报表

Java操作水晶报表DAO类:public static ResultSet getResultSet(final int scrollType) {ResultSet resultSet = null;String query = "";try {Connection conn = DBConnection.getConnection();String sql = "select * from ...

weixin_39661405的博客 256

java调用水晶报表范例

java调用水晶报表范例 myeclipse项目

java report component开发实例

java report component开发实例

java如何使用水晶报表_Java操作水晶报表

Java操作水晶报表DAO类:public static ResultSet getResultSet(final int scrollType) {ResultSet resultSet = null;String query = "";try {Connection conn = DBConnection.getConnection();String sql = "select * from ...

weixin_39943992的博客 507

【AI实战派】从零部署YOLOv8:香橙派AIpro边缘端目标检测全流程解析

本文详细解析了在香橙派AIpro边缘设备上从零部署YOLOv8目标检测模型的全流程。内容涵盖硬件开箱、环境搭建、模型转换(ONNX到昇腾OM格式)以及编写Python推理脚本,并提供了性能优化与实战技巧,帮助开发者高效实现实时边缘AI应用。

weixin_29183637的博客 330

Java操作水晶报表

Java操作水晶报表DAO类: public static ResultSet getResultSet(final int scrollType) { ResultSet resultSet = null; String query = ""; try { Connection conn = DBConnection.getConnection(); Stri...

mimang2008110的专栏 419

扬声器设计避坑指南:用Comsol分析反电动势对THD的影响(附案例文件)

本文深入探讨了扬声器设计中反电动势对总谐波失真的关键影响。通过COMSOL仿真,详细分析了BL值非线性、音圈电感变化等电磁-力-声耦合机制,并提供了从参数化建模到系统级优化的实战指南,帮助工程师精准量化并降低谐波失真,提升扬声器音质。

xx56789的博客 522

PDN设计

作者:AirCity 2020.2.6 Aircity007@sina.com 本文所有权归作者Aircity所有 PDN设计的目的是降低电源纹波水平,减小电压跌落。我们通常要求LDO的文波水平是30mV,DCDC是50mV,超过这个就需要PDN设计。 PDN设计的方法是用不同的容值,合适的总电容量,降低电源平面与地平面之间的交流阻抗,确定容值总量和电容大小的过程,就是PDN设计过程。 为什么需...

AirCity123的博客 4148

水晶报表for java_水晶报表(crystal reports)--java

这两天项目要用水晶报表(crystal reports),上网查了下资料,网上的资料不是太多.1.安装首先用的时候先到官网(https://www.sap.com/china/product/analytics/crystal-reports-eclipse.html)下载插件(SAPCrystal Reports(Eclipse 版))集成到eclipse中 ,下载之后解压 将文件放到ecli...

weixin_34177601的博客 2067

DeepL Pro免费使用技巧与API调用优化方案

机器翻译技术通过神经网络模型实现跨语言语义转换,其核心价值在于保持专业术语准确性的同时实现自然语言流畅度。现代翻译工具如DeepL采用注意力机制等深度学习技术,在医疗、法律等专业领域展现出接近人工翻译的质量。针对API调用场景,开发者可通过请求模拟实现小批量自动化处理,而文档预处理和术语库优化则能显著提升免费额度使用效率。本文重点解析如何通过字符计算优化、临时接口调用等工程实践方法,在合规前提下最大化利用免费翻译资源。

weixin_29038303的博客 266

将水晶报表技术延伸到 Java 世界

概述水晶报表 9 将其市场领先的报表技术延伸到了 Java 开发平台。一个全新的、百分之百的 Java SDK 赋予 Java/J2EE 应用程序以报表创建、操作和交付的能力。Java SDK 要结合 Report Application Server(报表应用程序服务器)使用,这是一个新兴的、可缩放的报表处理服务器。要了解关于 Report Application Server 的更多信息,

haibodotnet的专栏 4792

Overleaf+EndNote+BibTeX:手把手搞定Elsevier期刊投稿的参考文献格式(避坑指南)

本文详细介绍了如何利用Overleaf、EndNote和BibTeX三大工具无缝协作,解决Elsevier期刊投稿中的参考文献格式问题。从工具链配置、文献库导出、BibTeX文件优化到Overleaf集成与编译,提供全流程指南和常见问题解决方案,帮助学术新手高效完成Elsevier期刊投稿。

weixin_30616969的博客 513

芯片研发完整全流程

芯片研发全流程可分为需求与架构设计、前端逻辑设计、后端物理设计、晶圆制造、封装测试五大阶段,涉及16个核心步骤。研发过程需要多学科交叉协作,包括微电子、物理、材料、计算机等。关键注意事项包括验证优先、工艺约束遵循、可测性设计等。芯片设计需要绘制纳米级精度的物理版图,而非传统工程图纸,需使用专业EDA工具而非KiCad这类PCB设计软件。完整研发流程具有高投入、高风险特点,需严格遵循行业标准和规范。

weixin_44520581的博客 235

水晶报表java_JAVA水晶报表从环境搭建到创建动态水晶报表

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

weixin_28785509的博客 693

YOLO11涨点优化:创新多尺度卷积注意力(MSCA)模块,小目标检测神器!

MSCA模块通过创新的多尺度设计,在保持计算效率的同时显著提升小目标检测能力。实验证明,在YOLOv5/v8等模型上嵌入MSCA后,mAP提升超过2%,小目标检测精度提升近4%,且计算代价增加极小。注意力机制的未来发展方向动态核尺寸:根据输入特征自适应调整卷积核大小跨模态融合:结合RGB与深度/热力图等多模态信息自监督优化:利用对比学习预训练注意力模块尝试在你的YOLO模型中插入MSCA模块,欢迎在评论区分享你的涨点结果!参考文献。

QQ_778132974的博客 470

水晶报表 10 Java 支持概览及技术白皮书资源

目录●简化并加速了 JSP 中的数据展现●BEA WebLogic Workshop 8.1 内嵌版水晶报表●Borland JBuilder 内嵌版水晶报表●内嵌版本水晶报表的关键特性●水晶报表 10 - 具有更加丰富 Java 技术特性的升级版本●JAVA 社区●技术白皮书资源简化并加速了 JSP 中的数据展现水晶报表的 Java 支持有助于简化并加速 - 访问,格式化,并将数据集

haibodotnet的专栏 7969

【OpenClaw从入门到精通】第34篇:医疗AI的“Agent OS”时代:基于WiseClaw构建医院专属智能体平台(2026实测版)

2026年医疗AI迈入实战落地新阶段,全球首个医疗OpenClaw平台WiseClaw正式发布,香港中文大学(深圳)医院完成业内首个私有化部署。本文基于真实医疗场景需求与公开技术资料,系统拆解医疗智能体平台的建设逻辑:从医疗Agent OS的五大核心特性切入,详解门诊病历质控、用药审查、医院运行管理三大临床场景的智能体搭建流程,提供完整的私有化部署代码、安全配置方案与实操演示。文章兼顾新手入门与进阶需求,严格遵循医疗合规要求,强调“只读不写+人工复核”原则,所有方案均经过虚拟实测验证。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 788

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: Struts2的模板和主题介绍
下一篇: java调用水晶报表时,横线和文字错位之解决办法尝试
memory_xj
博客等级 码龄24年 44粉丝 23原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值