- 浏览: 745713 次
- 性别:
- 来自: 南京
-
文章分类
最新评论
-
18335864773:
看了楼主写的用jxl生成excel。有地方用到了流,还特别强调 ...
jxl导出excel文件简单示例 -
shaoshou111:
查看Apache的并发请求数及其TCP连接状态netstat ...
Linux查看连接数,并发数 -
gengjunshi:
非常感谢哈,刚好在学webservice编程,很有用呢。
JAX-WS开发webservice示例详解 -
zcgewu:
encrypt2()和encrypt()有什么区别
JAVA实现AES加密 -
java爱好者92:
ireport的操作还是相对比较复杂的,帆软报表会相对简单一点 ...
iReport报表开发中常见的问题
把编译好的类,连同包路径,一起放到Eclipse的Birt插件下面
比如我的就是在
c:\software\Birt2.6.2\plugins\org.eclipse.birt.report.viewer_2.6.2.r262_v20110214\birt\WEB-INF\classes\SimpleClass.class,
当然你的类如果带有包,比如com.jshx.SimpleClass, 那么你必须把整个的com包都放到classes下面
数组方式:
第一步:定义一下JAVA,class(看后面附件)
第二步:定义一个LIST
第三步:在BIRT报表的DATASET事件中(open)中输入
count = 0; cf = new Packages.user.ContactListFactory(); c = cf.createContactList();
在BIRT报表的DATASET事件中(CLOSE)中输入
cf=null; c=null;在BIRT报表的DATASET事件中(FETCH)中输入
if (count <= c.length-1){ row["columnFirstName"] = c[count].getFname(); row["columnLastName"] = c[count].getLname(); row["columnPhoneNumber"]= c[count].getPhone(); count ++; return true; } return false;
List方式
第一步:定义一下JAVA,class(看后面附件)
第二步:定义一个LIST
第三步:在BIRT报表的DATASET事件中(open)中输入
importPackage(Packages.com.jshx); reslut=reslutList; count=0;
在BIRT报表的DATASET事件中(CLOSE)中输入
reslut=null;
在BIRT报表的DATASET事件中(FETCH)中输入
if (count<=reslut.size()){ row["columnFirstName"] = reslut.get(count).getFname(); row["columnLastName"] = reslut.get(count).getLname(); row["columnPhoneNumber"]= reslut.get(count).getPhone(); count++; return true; } return false;
###############################################
附件
################################################
Contact类
package com.jshx; public class Contact { String fname; String lname; String phone; public Contact(String fname, String lname, String phone){ this.fname = fname; this.lname = lname; this.phone = phone; } /* * * @return Returns the fname. */ public String getFname() { return fname; } /** * @param fname The fname to set. */ public void setFname(String fname) { this.fname = fname; } /** * @return Returns the lname. */ public String getLname() { return lname; } /** * @param lname The lname to set. */ public void setLname(String lname) { this.lname = lname; } /** * @return Returns the phone. */ public String getPhone() { return phone; } /** * @param phone The phone to set. */ public void setPhone(String phone) { this.phone = phone; } }
ContactListFactory类
package com.jshx; import java.util.ArrayList; import java.util.List; public class ContactListFactory { public Contact[] createContactList(){ Contact[] c = new Contact[5]; c[0] = new Contact("stavros", "kounis", "2310886269"); c[1] = new Contact("dimitris", "kounis", "2310888270"); c[2] = new Contact("dimitris", "adamos", "2310998417"); c[3] = new Contact("nikos", "koufotolis", "2321013770"); c[4] = new Contact("yan", "liang", "13824745919"); return c; } public List<Contact> createList(){ List<Contact> c = new ArrayList<Contact>(); c.add(new Contact("stavros", "kounis", "2310886269")); c.add(new Contact("dimitris", "kounis", "2310888270")); c.add(new Contact("dimitris", "adamos", "2310998417")); c.add(new Contact("nikos", "koufotolis", "2321013770")); c.add(new Contact("yan", "liang", "13824745919")); return c; } }
公共方法类
CommonFunc.java
package com.jshx.util; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class CommonFunc { private static final Log logger = LogFactory.getLog(CommonFunc.class); /** * 获取当前项目的绝对路径 * @param classesPath * @return */ public static String getPorjectPath(String classesPath){ String tempdir; String classPath[] = classesPath.split("webapps"); tempdir=classPath[0]; if(!"/".equals(tempdir.substring(tempdir.length()-1))){ tempdir += "/"; } return tempdir; } /** * 日期转为字符串 * @param date * @param formatStr * @return */ public static String ConvertDateToStr(Date date,String formatStr) { try { SimpleDateFormat format = new SimpleDateFormat(formatStr); return format.format(date); } catch (Exception e) { e.printStackTrace(); return null; } } }
Constants.java
package com.jshx.util; /** * 常量类 <功能详细描述> * @author duanpf * @version [版本号, 2012-12-8] * @see [相关类/方法] * @since [产品/模块版本] */ public class Constants{ // Field descriptor #6 Ljava/lang/String; public static final String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm"; // Field descriptor #6 Ljava/lang/String; public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; // Field descriptor #6 Ljava/lang/String; public static final String YYYY_MM_DD = "yyyy-MM-dd"; // Field descriptor #6 Ljava/lang/String; public static final String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; public static final String YYYYMM = "yyyyMM"; public static final String YYYY = "yyyy"; public static final String MM = "MM"; public static final String birtRunTime = "virtualdir/birt/runtime/ReportEngine"; public static final String birtPath = "virtualdir/birt/report/"; }
ExecuteReport类
package com.jshx; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import org.apache.log4j.Logger; import org.eclipse.birt.report.engine.api.EngineConfig; import org.eclipse.birt.report.engine.api.EngineConstants; import org.eclipse.birt.report.engine.api.EngineException; import org.eclipse.birt.report.engine.api.HTMLRenderContext; import org.eclipse.birt.report.engine.api.HTMLRenderOption; import org.eclipse.birt.report.engine.api.IReportRunnable; import org.eclipse.birt.report.engine.api.IRunAndRenderTask; import org.eclipse.birt.report.engine.api.ReportEngine; import com.jshx.util.CommonFunc; import com.jshx.util.Constants; public class ExecuteReport { public static Logger logger = Logger.getLogger(ExecuteReport.class); /** * * @param paraMap 传入需要在报表中展示的值,或LIST集合 * @param rptdesign 报表模板 * @param outFlie 输出的文件名 * @param outType 输出的文件类型 * @return * @throws EngineException */ public String executeReport(Map<String, Object> paraMap,String rptdesign,String outFlie,String outType) throws EngineException{ String classesPath = this.getClass().getClassLoader().getResource("").getPath(); String realPath= CommonFunc.getPorjectPath(classesPath); //Engine Configuration - set and get temp dir, BIRT home, Servlet context EngineConfig config = new EngineConfig(); logger.info("运行时路径="+realPath+ Constants.birtRunTime); config.setEngineHome(realPath+ Constants.birtRunTime); //Create the report engine ReportEngine engine = new ReportEngine(config); //Open a report design - use design to modify design, retrieve embedded images etc. IReportRunnable design = engine.openReportDesign(realPath+ Constants.birtPath +rptdesign); //Create task to run the report - use the task to execute and run the report, IRunAndRenderTask task = engine.createRunAndRenderTask(design); //Set Render context to handle url and image locataions HTMLRenderContext renderContext = new HTMLRenderContext(); renderContext.setImageDirectory("image"); HashMap contextMap = new HashMap(); contextMap.put( EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT, renderContext); task.setAppContext( contextMap ); if(null!=paraMap&&!paraMap.isEmpty()){ Set<String> set = paraMap.keySet(); for (String string : set) { if("reslut".equals(string)){ Contact[] c =(Contact[]) paraMap.get(string); task.addScriptableJavaObject("reslut", c); }if("urlPath".equals(string)){ task.addScriptableJavaObject(string, paraMap.get("urlPath")); }else{ //List<Contact> list = (ArrayList<Contact>)paraMap.get(string); List list =(ArrayList) paraMap.get(string); task.addScriptableJavaObject(string, list); } } } //Set rendering options - such as file or stream output, //output format, whether it is embeddable, etc HTMLRenderOption options = new HTMLRenderOption(); Date dateNow=new Date(); String reqTime = CommonFunc.ConvertDateToStr(new Date(), Constants.YYYYMM); String dateNowStr= reqTime +"/"+outFlie; String birtFile = realPath+ Constants.birtPath+dateNowStr; options.setOutputFileName(birtFile); options.setOutputFormat(outType); task.setRenderOption(options); //run the report and destroy the engine try{ task.run(); engine.destroy(); }catch (Exception e) { e.printStackTrace(); } return dateNowStr; } public static void main(String[] args) throws Exception { Map<String, Object> reslutMap = new HashMap<String, Object>(); ExecuteReport pf = new ExecuteReport(); pf.executeReport(reslutMap,"scripted.rptdesign","scripted.xls","xls"); } }
Reporttest类
package com.jshx; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import com.jshx.util.CommonFunc; import com.jshx.util.Constants; public class Reporttest { public static void main(String args[]) { try { ContactListFactory cf = new ContactListFactory(); Contact[] reslut = cf.createContactList(); List<Contact> reslutList = cf.createList(); Map<String, Object> reslutMap = new HashMap<String, Object>(); reslutMap.put("reslut", reslut); reslutMap.put("reslutList", reslutList); String reqTime = CommonFunc.ConvertDateToStr(new Date(),Constants.YYYYMMDDHHMMSS); String birtType = "html"; String birtFileName = "kenScripDataset_" + reqTime + "." + birtType; ExecuteReport mreport = new ExecuteReport(); mreport.executeReport(reslutMap, "kenScripDataset.rptdesign",birtFileName, birtType); } catch (Exception e) { e.printStackTrace(); } } }
发表评论
-
BIRT参数设置详解
2016-05-18 15:15 4490在使用birt报表的时候感 ... -
jxl导入excel
2013-09-17 16:56 991jxl读取excel和写excel基本类似,只是Writab ... -
合计 jxl
2013-08-07 08:57 1302一、jxl中的合计如下$[SUM(C8:I8)]$[SUM ... -
birt分组排序
2013-05-31 17:04 15201、birt分组排序问题 本来sql已经排好序的,但是 ... -
如何去掉birt报表自动生成的日期
2012-11-10 10:35 4019birt做出来有时间,但不需要,需要去掉。在xml中,找到以下 ... -
图形报表问题
2011-12-23 11:02 1113我用iReport生成html报表, 报表里面有一个表格 和一 ... -
常见问题
2011-12-22 16:52 9331.生成报表时中文产生乱码? JasperReport的中文 ... -
iReport报表开发中常见的问题
2011-12-22 13:06 8550注明: $V{PAGE_NUMBER} 表示当前是第几页 ... -
jasperreport生成html,Excel,PDF报表,数据源使用List
2010-06-07 16:05 0jasperreport中可以使用List作为数据源,使用格式 ...
相关推荐
本示例主要涉及的是使用Java语言和SuperMap Objects接口来创建栅格数据集,这个过程涉及到的数据来源是存有点信息的Excel表格。以下将详细介绍这一过程的关键知识点。 首先,**Java** 是一种广泛使用的面向对象的...
本主题主要关注如何使用SuperMap Objects Java将数据集导出为Excel表文件,这对于数据分析、报告制作以及数据共享具有重要意义。 首先,我们要理解“数据集”在GIS中的概念。数据集是GIS中的基本数据单元,通常包含...
数据集格式:Pascal VOC格式(不包含分割的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):17000 标注数量(xml文件个数):17000 标注类别数:1 总文件大小:约4GB,分2个压缩包 标注类别名称:["bird"]...
Java调用OPC(OLE for Process Control)获取点位数据是一项常见的工业自动化任务,尤其在SCADA(Supervisory Control and Data Acquisition)系统中。OPC是微软平台上的一个标准接口,它允许不同厂商的软件应用程序...
虽然Flappy Bird的源码可能不包含复杂的进度保存功能,但简单的高分记录可以通过序列化和反序列化技术实现,如使用java.io.Serializable接口。 通过学习Flappy Bird的Java源码,开发者不仅可以掌握基础的游戏开发...
以上知识点涵盖了Java数据集工具的基础和进阶使用,通过深入理解和熟练运用,开发者可以编写出高效、易维护的代码。`API doc`可能包含了这些工具类的详细文档,通过查阅可以获取更具体的信息和示例。`help`文件可能...
通过使用JOGL,Java开发者可以不必直接使用底层的OpenGL函数调用,而是通过Java语言的方式进行图形渲染和数据处理。此外,JOGL与Java的集成使得它能够很容易地与其他Java库和框架结合使用,如Swing或JavaFX等,为...
这个数据集源自于广泛使用的PASCAL Visual Object Classes (VOC) Challenge 2007,它是一个多类别的物体识别挑战,但在这个特定的版本中,我们只关注"bird"这一类别。 数据集的核心目标是促进机器学习和深度学习...
Java 调用天气接口是指使用 Java 语言来调用天气预报服务的 WebService,获取当前天气信息和天气预报数据。下面是相关知识点的总结: 1. Java 调用 WebService Java 调用 WebService 需要使用到以下知识点: * ...
总结以上内容,Java调用ComfyUI接口是一个涉及网络编程、JSON数据处理以及异常处理等多个方面的复杂过程。开发者需要深入了解API规范、Java编程以及网络通信机制,以确保接口调用的正确性和高效性。而随着技术的不断...
1、资源描述:YOLO目标检测+鸟类数据集已标注可以直接使用(数据集+对应已标注文件).rar 2、资源内容:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 3、适用对象:计算机,电子信息工程、数学等专业...
通过以上知识点的学习和实践,你可以掌握如何使用Java调用SOAP接口,以及如何根据具体需求进行定制。在处理天气信息这样的案例中,理解SOAP协议和相关API的使用,将使你能够轻松地与各种Web服务进行交互。
在Java中调用SAP RFC,通常需要使用JCo(Java Connector)库,这是SAP官方提供的Java API。JCo允许Java应用程序创建与SAP系统之间的连接,通过RFC接口进行交互。要使用JCo,你需要先在SAP系统中配置RFC目的地,然后...
在Java编程环境中调用SPSS(Statistical Product and Service Solutions)是通过SPSSINC API for Java实现的。这个API允许开发者在Java应用中无缝集成SPSS的功能,执行统计分析、数据处理等任务。SPSSINC API for ...
Java飞扬的小鸟(Flappy Bird Redux)是一款基于Java编程语言开发的2D游戏,是对经典游戏Flappy Bird的重新实现。这个游戏源码提供了一个学习Java游戏开发的实践平台,可以帮助开发者深入了解Java图形用户界面(GUI...
Java JNA调用PyTorch C++模型推理是一种在Java应用程序中利用PyTorch的深度学习能力的方法。JNA(Java Native Access)是Java平台上的一个库,它允许Java代码直接调用本机库(如C++编写的库),而无需编写JNI(Java ...
首先,需要创建一个`Feature`对象,设置其几何形状(Geometry)和属性值(Attributes),然后使用数据集的`addFeature()`方法将其添加到数据集中。例如,创建一个点对象并添加到数据集: ```java Geometry point = ...
总之,Java调用Lua脚本是通过LuaJava库实现的,该库允许Java程序直接执行Lua代码,并与Lua环境进行数据交换。在Linux环境下,安装和使用LuaJava涉及到编译Lua源码和LuaJava源码,以及配置系统库路径。一旦设置完毕,...
使用HttpURLConnection可以实现Restful接口的调用,但需要手动设置headers、parameters和body等信息。 其次,介绍了使用HttpClient实现Restful接口的调用。HttpClient是Apache组织提供的一个开源项目,提供了一个...