java获取 birt 结果集_JAVA代码调用birt报表

JAVA调用BIRT设置的SCRIPT数据集

数组方式:

第一步:定义一下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(.jshx);

count=0;

users=reslut;

在BIRT报表的DATASET事件中(CLOSE)中输入

cf=null; c=null;

在BIRT报表的DATASET事件中(FETCH)中输入

if (count<=users.size()){

row["columnFirstName"] = users.get(count).getFname();

row["columnLastName"] = users.get(count).getLname();

row["columnPhoneNumber"]= users.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 createList(){

List c = new ArrayList();

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;

}

}

ExecuteReport类

package com.jshx;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Set;

import java.util.logging.Level;

import org.eclipse.birt.core.framework.Platform;

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.IReportEngine;

import org.eclipse.birt.report.engine.api.IReportEngineFactory;

import org.eclipse.birt.report.engine.api.IReportRunnable;

import org.eclipse.birt.report.engine.api.IRunAndRenderTask;

import org.eclipse.birt.report.engine.api.ReportEngine;

public class ExecuteReport {

//报表

public static void executeReport() throws EngineException{

//Engine Configuration - set and get temp dir, BIRT home, Servlet context

EngineConfig config = new EngineConfig();

config.setEngineHome("D:/soft/Tomcat6/virtualdir/birt/runtime/ReportEngine");

//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("D:/soft/Tomcat6/virtualdir/birt/report/kenScripDataset.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 );

//传数组

/*ContactListFactory cf = new ContactListFactory();

Contact[] c = cf.createContactList();

task.addScriptableJavaObject("reslut", c);*/

//传LIST

ContactListFactory cf = new ContactListFactory();

List c = cf.createList();

task.addScriptableJavaObject("reslut", c);

//Set rendering options - such as file or stream output,

//output format, whether it is embeddable, etc

HTMLRenderOption options = new HTMLRenderOption();

options.setOutputFileName("D:/soft/Tomcat6/virtualdir/birt/report/kenScripDataset.html");

options.setOutputFormat("html");

task.setRenderOption(options);

//run the report and destroy the engine

task.run();

engine.destroy();

}

}

Reporttest类

public class Reporttest {

public static void main(String args[]) {

try {

ExecuteReport mreport = new ExecuteReport();

mreport.executeReport();

}catch ( Exception e ) {

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值