- 浏览: 101476 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (31)
- birt (26)
- linux (0)
- window (0)
- jsp (0)
- glassfish (0)
- tomcat (0)
- WAS (0)
- WAS CE (0)
- dwr (0)
- spring (0)
- struts (0)
- j2se (0)
- eclipse (0)
- Lotus Widget Factory (0)
- IBM Portal (2)
- WebSphere Portlet Factory (0)
- extjs (0)
- jquery (0)
- prototypejs (0)
- css (1)
- html (1)
- javafx (0)
- javascript (0)
- db2 (0)
- Ldap (0)
- mysql (0)
- oracle (0)
- sql (0)
- javamail (0)
- 其他 (1)
最新评论
-
iris_1992:
2005年以前,国外开源报表完全碾压国产软件,但是现在国内软件 ...
birt标签的使用 -
favoriteName:
你好 我想请问下 参数类型可以是个数据集么?
birt动态设置要显示的图表数据 -
banana8822:
搞定了,楼主好人,一生平安
birt 从配置文件读取数据库信息 -
banana8822:
“在新建的数据源beforeopen里写:”,beforeop ...
birt 从配置文件读取数据库信息 -
段箭*残箫:
dnje2006 写道如果没查出数据 ,直接 列出 一个 为零 ...
交叉表没有数据显示为零的操作
今天我先说在CS程序中如何定时生成报表,
代码如下:
package com;
import java.util.Timer;
import java.util.TimerTask;
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.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.PDFRenderOption;
public class TimerTest {
private int i; //设定这个i是方便我测试的,后面会说到。
private void timeTest(){
Timer t = new Timer(); //构造定时器
t.schedule(new MyTask(), 0,1000); //执行任务。表示立即执行,并隔1秒后再次执行
}
public static void main(String args[]){
new TimerTest().timeTest();
}
private class MyTask extends TimerTask{
@Override
public void run() {
i++;
runReport(i); //运行报表
}
}
private void runReport(int i) {
IReportEngine engine=null;
EngineConfig config = null;
try{
config = new EngineConfig( );
config.setBIRTHome("F:/language/report/birt/soft/birt-runtime-2_3_0/birt-runtime-2_3_0/ReportEngine"); //这是CS程序,直接设置birthome
Platform.startup( config );
IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
engine = factory.createReportEngine( config );
IReportRunnable design = null;
//Open the report design
design = engine.openReportDesign("reports/test2.rptdesign"); //打开这个已经写好的报表文件
IRunAndRenderTask task = engine.createRunAndRenderTask(design);
task.setParameterValue("id", i); //设置报表参数为i(这个i第次会加1,上面写i++了。)
HTMLRenderOption options = new HTMLRenderOption();
options.setOutputFileName("output/test"+i+".pdf"); //设置生成的pdf名称,动态的。
options.setOutputFormat("pdf"); //设置显示格式为pdf,可以改成html
options.setHtmlRtLFlag(false);
options.setEmbeddable(false);
task.setRenderOption(options);
task.run();
System.out.println("succuess");
task.close();
engine.destroy();
}catch( Exception ex){
ex.printStackTrace();
}
finally
{
Platform.shutdown( );
}
}
}
就这么简单报表会每隔一秒终运行一次,并把参数设置成不同,在保存的pdf里可能查看到参数的变化。
说明:.test2.rptdesign这是个随便建立的报表,我这里传了个参数,没多大用,
但我演示了很重要的东西,就是设置参数,我们的报表运行可能是要传动态参数的,在这里就可以设置了。
不早了,我先写这篇吧,有时候写下篇,在web工程里定时生成报表。
代码如下:
package com;
import java.util.Timer;
import java.util.TimerTask;
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.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.PDFRenderOption;
public class TimerTest {
private int i; //设定这个i是方便我测试的,后面会说到。
private void timeTest(){
Timer t = new Timer(); //构造定时器
t.schedule(new MyTask(), 0,1000); //执行任务。表示立即执行,并隔1秒后再次执行
}
public static void main(String args[]){
new TimerTest().timeTest();
}
private class MyTask extends TimerTask{
@Override
public void run() {
i++;
runReport(i); //运行报表
}
}
private void runReport(int i) {
IReportEngine engine=null;
EngineConfig config = null;
try{
config = new EngineConfig( );
config.setBIRTHome("F:/language/report/birt/soft/birt-runtime-2_3_0/birt-runtime-2_3_0/ReportEngine"); //这是CS程序,直接设置birthome
Platform.startup( config );
IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
engine = factory.createReportEngine( config );
IReportRunnable design = null;
//Open the report design
design = engine.openReportDesign("reports/test2.rptdesign"); //打开这个已经写好的报表文件
IRunAndRenderTask task = engine.createRunAndRenderTask(design);
task.setParameterValue("id", i); //设置报表参数为i(这个i第次会加1,上面写i++了。)
HTMLRenderOption options = new HTMLRenderOption();
options.setOutputFileName("output/test"+i+".pdf"); //设置生成的pdf名称,动态的。
options.setOutputFormat("pdf"); //设置显示格式为pdf,可以改成html
options.setHtmlRtLFlag(false);
options.setEmbeddable(false);
task.setRenderOption(options);
task.run();
System.out.println("succuess");
task.close();
engine.destroy();
}catch( Exception ex){
ex.printStackTrace();
}
finally
{
Platform.shutdown( );
}
}
}
就这么简单报表会每隔一秒终运行一次,并把参数设置成不同,在保存的pdf里可能查看到参数的变化。
说明:.test2.rptdesign这是个随便建立的报表,我这里传了个参数,没多大用,
但我演示了很重要的东西,就是设置参数,我们的报表运行可能是要传动态参数的,在这里就可以设置了。
不早了,我先写这篇吧,有时候写下篇,在web工程里定时生成报表。
评论
2 楼
zrs217
2010-08-26
貌似不行的,只能顺利执行一次,下一次就报错的!我测试了就是这样,原以为是时间间隔太短,我改成两分,还是在第二次报错的!
1 楼
chenhua_1984
2009-05-04
不错!收藏下!◎
发表评论
-
birt 表头排序
2009-09-21 10:21 4509主要思想就是在表头加超链接,链接到自己,给自己带一个order ... -
birt交叉表设置隔行变色
2009-07-03 17:28 4504效果如下图:没有进行多余的配色了,比较丑。呵呵。现在看看怎 ... -
birt动态设置要显示的图表数据
2009-07-01 18:03 7769实现的效果是在原有的chart图上再显示其他chart图。比如 ... -
birt标签的使用
2009-06-19 19:05 6916因为一直没有用标签, ... -
使用java生成数据集数据
2009-06-19 15:32 2911首先还是一样,新建个 ... -
birt 从配置文件读取数据库信息
2009-06-18 18:10 3980首先发点牢骚,不知道birt为什么这么设计,要新建jdbc ... -
交叉表没有数据显示为零的操作
2009-06-15 11:19 2060原始图像如下:如果想在空白处没有数据的地方显示为“0”,刚在摘 ... -
birt使用xml数据源
2009-06-11 17:42 2205此示例是从我的论坛里贴过来,如看不到图片,请到原站查看。 ... -
BIRT 2.5 Milestone 7 更新功能介绍
2009-06-09 22:17 2456文章从我的论坛里粘过 ... -
birt chart api手册
2009-06-03 15:51 2621birt chart 图的api手册,chm格式,不需要再从e ... -
birt api 手册
2009-06-03 15:49 2006自己从eclipse里把birt的文档分离出来,制作成chm格 ... -
动态分组
2009-05-26 13:42 1351页面选择不同的分组方式,通过参数传进来,我们如何动态的分组呢? ... -
birt设计X轴时间格式
2009-05-12 12:26 3557达到的效果是根据查询参数时间设置x轴时间显示,数据的东西我就不 ... -
birt 定时生成报表(下)
2009-05-03 22:46 529前两天我写了个c/s模式的birt定时生成报表,现在我们来看一 ... -
动态设置birt chart图标题
2009-04-28 12:28 2915在chart图的script里添加如下方法:function ... -
birt报表中每页下面显示页码
2009-04-24 18:11 5567显示页脚,然后在xml文件里将下面代码替换相应位置代码:< ... -
birt script的简单应用
2009-04-23 23:40 5364群里有兄弟问怎么把两个表格里相应单元格的数据相加在其中一个的相 ... -
birt动态参数的处理
2009-04-07 14:27 3766本例实现根据用户选择不同的查询条件查询显示报表。按我的报表业务 ... -
birt制作chart图
2009-03-24 12:19 4890发现群里的兄弟还有的不会使用birt制作chart图,所在现在 ... -
birt显示图片和没有图片时的提示
2009-03-23 11:00 2423这里我们想在报表里显示图片,当没有图片时则显示提示语“无图片” ...
相关推荐
自己写的java生成excel报表jar包,使用html中的table标签样式设计报表头部信息xml文件,接受list数据集生成excel报表。对结构不是太复杂的excel报表十分好用,有详细使用说明。不断完善中,欢迎提供意见和建议!(注...
自己写的java生成excel报表jar包,使用html中的table标签样式设计报表头部信息xml文件,接受list数据集生成excel报表。对结构不是太复杂的excel报表十分好用,有详细使用说明。最新添加了打印时间。
这些扩展通常提供一键备份、加密备份和定时备份等功能。 二、Thunderbird邮件导入导出 1. **导入备份文件** - **导入个人资料**:当你需要恢复备份时,只需将备份的个人资料文件夹替换到新的Thunderbird安装目录...
- pipe2_down.png 和 pipe2_up.png:这些是备用的管道图像,可能是为了增加游戏的多样性或实现随机生成的效果。开发者可能使用这些图像来改变管道的外观,让游戏看起来更加丰富和有趣。 3. 用户界面元素: - text...
Bird的移动和跳跃通过物理引擎模拟,而Pipes则动态生成,形成无尽的飞行路线。 3. 碰撞检测:cocos2dx提供了矩形碰撞检测,用于判断Bird与Pipes是否发生碰撞。通过比较Bird的位置和Pipes的边界,实现游戏结束条件。...
2. Lightning:这是一个日历和任务管理扩展,它可以让你在ThunderBird内部查看和管理日程,创建事件和提醒,以及同步Google日历或其他CalDAV服务器上的数据。这对于需要协调会议和计划的用户非常有用。 3. ...
2. **管道资源**:管道是Flappy Bird中的核心障碍物,分为上半部分和下半部分。玩家需要控制小鸟在管道之间穿梭。在Scratch中,可以创建两个不同的角色,分别代表管道的上下两部分,并设置它们的移动速度和位置,与...
《Flappy Bird游戏素材解析:图像与音效的全方位探讨》 Flappy Bird,这款曾经风靡全球的小游戏,以其简单却极具挑战性的玩法吸引了无数玩家。在学习游戏开发的过程中,掌握并理解游戏素材——尤其是图像和音效——...
这款游戏可能增加了多个角色的互动、动态生成的环境、更丰富的游戏机制,如射击、道具系统和敌我识别。在Unity中,这可能涉及到更多复杂的脚本编写,例如网络同步(如果是多人在线游戏)、AI行为控制(敌机的智能...
《Flappy Bird 图像音频资源解析》 在游戏开发领域,资源是构成游戏世界的基础,它们赋予游戏视觉和听觉的生动性。本资源包“flappybird图像音频资源包”便是针对经典游戏《Flappy Bird》而设计的,旨在为开发者...
管道的生成和移动算法是游戏逻辑的关键部分,需要精心设计以保持游戏难度的平衡。 3. **背景素材**:背景通常会有层次感,随着小鸟的飞行而滚动,创造出一种深度和运动感。开发者可以使用简单的滚动算法或者更复杂...
《flappy bird》是一款由来自越南的独立游戏开发者Dong Nguyen所开发的作品,游戏于2013年5月24日上线,并在2014年2月突然暴红。2014年2月,《Flappy Bird》被开发者本人从苹果及谷歌应用商店撤下。2014年8月份正式...
总结,Flappy Bird的制作资源素材包为游戏开发者提供了制作此类游戏的基础元素,通过理解和运用这些素材,开发者可以快速构建出类似的游戏框架,并在此基础上进行创新和个性化设计。无论你是初学者还是经验丰富的...
综上所述,"OpenCv制作的FlappyBird"项目展示了OpenCV在游戏开发中的创新应用,结合了图像处理、物体检测、机器学习等多个方面的知识,是学习和实践OpenCV技术的一个有趣案例。通过深入研究项目源码、观看成果视频并...
在前端开发中,异步操作是必不可少的部分,例如Ajax请求、文件读写、定时任务等。传统回调函数的模式容易导致回调地狱,使得代码结构混乱,不易理解和维护。Promise对象的出现为解决这一问题提供了新的思路,它允许...
Java源码中会有一个Score类来跟踪和更新得分,并在界面上显示。 八、随机性与难度控制 为了增加游戏的挑战性,管道的生成位置通常是随机的。Java的Random类用于生成随机数,控制管道的间距和出现时间,以提供变化的...
Flybird可能是该项目的名称或开发者昵称,而“源代码见博客主页”意味着我们可以在这个项目的博客主页上找到更详细的编程源代码,这通常是为了方便读者学习、理解和改进项目。 【描述】"Flybird创作,源代码见博客...
《Flappy Bird游戏素材与源码解析》 Flappy Bird是一款简单却极具挑战性的移动平台游戏,由越南开发者Dong Nguyen开发。它以其独特的游戏机制和极高的难度在全球范围内引起了热潮。在这里,我们拥有的是自己制作的...
flappybird游戏资源,图片+音效
【FlyBird资源文件图片加音效】是一款深受国内外玩家喜爱的游戏资源包,它包含了用于创建类似"FlappyBird"游戏的素材,包括视觉元素和音频效果。这些资源为开发者提供了便利,使他们能够快速构建一个与原版Flappy...