`
super_robin
  • 浏览: 54123 次
  • 性别: Icon_minigender_1
  • 来自: 河南郑州
社区版块
存档分类
最新评论

Birt实现Excel分sheet导出

阅读更多
   项目中免不了要用到报表,但是目前开源的Birt又没有提供Excel的份Sheet导出,当然商业报表如润乾报表、FineReport都提供了这些功能,但是毕竟是收费的。所以,我在Birt提供的Api的基础之上,结合Jxl提供的写Excel功能,实现了Birt的分Sheet导出,也算是一个创新吧。下面是一个Demo,需要的拿走,但要记得评论啊。
    Demo中我已测试通过,但也可能会有其他未知Bug,所以在使用过程中遇到问题,也请给我留言,通知我,共同学习,一起进步!
分享到:
评论
23 楼 Semper_Fi 2015-05-17  
如果查询参数的话,怎么搞呢
22 楼 ccy953384950 2015-04-24  
Failed in close the archive
java.lang.NullPointerException
at org.eclipse.birt.report.engine.toc.TOCBuilder.write(TOCBuilder.java:160)
at org.eclipse.birt.report.engine.api.impl.ReportDocumentWriter.doSaveCoreStreams(ReportDocumentWriter.java:254)
at org.eclipse.birt.report.engine.api.impl.ReportDocumentWriter.saveCoreStreams(ReportDocumentWriter.java:218)
at org.eclipse.birt.report.engine.api.impl.ReportDocumentWriter.close(ReportDocumentWriter.java:80)
at org.eclipse.birt.report.engine.api.impl.RunTask.closeReportDocument(RunTask.java:186)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:293)
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:91)
at com.bei.demo.BirtReportHandler.exportSheetExcel(BirtReportHandler.java:149)
at com.bei.demo.BirtReportHandler.main(BirtReportHandler.java:264)
Exception in thread "main" java.lang.NoSuchMethodError: org.eclipse.birt.report.model.api.util.DocumentUtil.serialize(Lorg/eclipse/birt/report/model/api/ReportDesignHandle;Ljava/io/OutputStream;)V
at org.eclipse.birt.report.engine.api.impl.ReportDocumentWriter.saveDesign(ReportDocumentWriter.java:137)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:237)
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:91)
at com.bei.demo.BirtReportHandler.exportSheetExcel(BirtReportHandler.java:149)
at com.bei.demo.BirtReportHandler.main(BirtReportHandler.java:264)
这个问题怎样解决啊?
21 楼 ccy953384950 2015-04-24  
Failed in close the archive
java.lang.NullPointerException
at org.eclipse.birt.report.engine.toc.TOCBuilder.write(TOCBuilder.java:160)
at org.eclipse.birt.report.engine.api.impl.ReportDocumentWriter.doSaveCoreStreams(ReportDocumentWriter.java:254)
at org.eclipse.birt.report.engine.api.impl.ReportDocumentWriter.saveCoreStreams(ReportDocumentWriter.java:218)
at org.eclipse.birt.report.engine.api.impl.ReportDocumentWriter.close(ReportDocumentWriter.java:80)
at org.eclipse.birt.report.engine.api.impl.RunTask.closeReportDocument(RunTask.java:186)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:293)
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:91)
at com.bei.demo.BirtReportHandler.exportSheetExcel(BirtReportHandler.java:149)
at com.bei.demo.BirtReportHandler.main(BirtReportHandler.java:264)
Exception in thread "main" java.lang.NoSuchMethodError: org.eclipse.birt.report.model.api.util.DocumentUtil.serialize(Lorg/eclipse/birt/report/model/api/ReportDesignHandle;Ljava/io/OutputStream;)V
at org.eclipse.birt.report.engine.api.impl.ReportDocumentWriter.saveDesign(ReportDocumentWriter.java:137)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:237)
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:91)
at com.bei.demo.BirtReportHandler.exportSheetExcel(BirtReportHandler.java:149)
at com.bei.demo.BirtReportHandler.main(BirtReportHandler.java:264)
20 楼 shandian811 2014-05-26  
怎么不能下载呢
19 楼 ilyln47 2014-05-06  
学习学习     
18 楼 tfq1013 2013-07-11  
项目刚好要实现这个,回去研究下
17 楼 Fx_demon 2012-07-13  
需要 这玩意 试试
16 楼 zhuting520 2012-05-17  
谢谢
15 楼 bluesky126wc 2012-01-05  
楼下你的能成功运行吗?我的报空指针异常,求请教,谢谢
IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );

factory 输出为null


邮箱:304018335@qq.com
14 楼 IsItLikeThat 2012-01-05  
顶~~~~!
13 楼 bluesky126wc 2011-12-28  
我的报空指针异常,求请教,谢谢
IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );

factory 输出为null
12 楼 simple716 2011-12-25  
正需要这个,谢谢分享!
11 楼 HeyYi 2011-12-19  
我看了你的代码 也看了官网的API 有些不解,有渠道可以交流下吗?比如QQ,邮箱之类的!谢谢哈!
10 楼 HeyYi 2011-12-19  
hob007 写道
我在本机上测试BirtReportHandler的时候报错,帮忙看下什么原因。
loadEngine()没报错,执行到
design = engine.openReportDesign(reportName);
的时候报错,提示找不到class,我需要添加别的类吗?

========下面是具体的报错信息==========
Exception in thread "main" java.lang.NoSuchMethodError: org.eclipse.birt.report.model.metadata.MetaDataDictionary.isIntializedExtension()Z
at org.eclipse.birt.report.model.api.impl.DesignEngineImpl.initialize(DesignEngineImpl.java:106)
at org.eclipse.birt.report.model.api.impl.DesignEngineImpl.newSessionHandle(DesignEngineImpl.java:155)
at org.eclipse.birt.report.model.api.DesignEngine.newSessionHandle(DesignEngine.java:108)
at org.eclipse.birt.report.engine.parser.ReportParser.getDesignHandle(ReportParser.java:143)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:253)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:193)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:127)
at org.eclipse.birt.report.engine.api.impl.ReportEngine.openReportDesign(ReportEngine.java:349)
at com.bei.demo.BirtReportHandler.exportSheetExcel(BirtReportHandler.java:147)
at com.bei.demo.BirtReportHandler.main(BirtReportHandler.java:264)

9 楼 hob007 2010-12-02  
我在本机上测试BirtReportHandler的时候报错,帮忙看下什么原因。
loadEngine()没报错,执行到
design = engine.openReportDesign(reportName);
的时候报错,提示找不到class,我需要添加别的类吗?

========下面是具体的报错信息==========
Exception in thread "main" java.lang.NoSuchMethodError: org.eclipse.birt.report.model.metadata.MetaDataDictionary.isIntializedExtension()Z
at org.eclipse.birt.report.model.api.impl.DesignEngineImpl.initialize(DesignEngineImpl.java:106)
at org.eclipse.birt.report.model.api.impl.DesignEngineImpl.newSessionHandle(DesignEngineImpl.java:155)
at org.eclipse.birt.report.model.api.DesignEngine.newSessionHandle(DesignEngine.java:108)
at org.eclipse.birt.report.engine.parser.ReportParser.getDesignHandle(ReportParser.java:143)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:253)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:193)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:127)
at org.eclipse.birt.report.engine.api.impl.ReportEngine.openReportDesign(ReportEngine.java:349)
at com.bei.demo.BirtReportHandler.exportSheetExcel(BirtReportHandler.java:147)
at com.bei.demo.BirtReportHandler.main(BirtReportHandler.java:264)
8 楼 hob007 2010-12-02  
谢谢分享,好人啊
7 楼 super_robin 2010-10-15  
TANHAIWEI 写道
可以用POI实现不?
个人比较喜欢POI,呵呵。
先拿走了...

jxl和poi都是一样的,我里面有一个excel导出类,你要是想用poi的话只需要把里面的导出方法重写就行了
6 楼 yangyiqian 2010-10-04  
不错,正需要这个,谢谢。
5 楼 super_robin 2010-09-10  
pxjianke 写道
你的例子里面的两个sheetTest.rptdesign,sheetTest.rptdocument怎么没有包含进来啊?

最近比较忙,没有上线,不好意思啊
sheetTest.rptdocument个人理解是birt的缓存文件,是有sheetTest.rptdesign计算生成的,具体代码中有,你可以看看
4 楼 pxjianke 2010-08-30  
你的例子里面的两个sheetTest.rptdesign,sheetTest.rptdocument怎么没有包含进来啊?

相关推荐

    thunderbird 邮件备份

    本文将详细介绍如何进行Thunderbird的邮件备份以及如何导入导出备份文件。 一、Thunderbird邮件备份 1. **导出邮件和账户设置** Thunderbird的数据主要存储在两个地方:个人资料文件夹(Profile Folder)和邮件...

    Qt实现Flappy Bird游戏

    Qt实现Flappy Bird游戏 在本文中,我们将详细介绍如何使用Qt框架实现Flappy Bird游戏。该游戏是一个非常popular的移动端游戏,具有较高的娱乐性和挑战性。通过使用Qt框架,我们可以轻松地实现该游戏,并将其部署到...

    java实现Flappy bird

    Java实现的Flappy Bird是一款基于Java编程语言开发的著名游戏Flappy Bird的克隆版。这个游戏的源代码为初学者和中级开发者提供了很好的学习资源,尤其是对于那些希望深入理解Java图形用户界面(GUI)编程、游戏开发...

    java实现Flappy Bird小游戏

    Java实现的Flappy Bird小游戏是一个非常适合初学者上手的项目,它可以帮助你深入理解Java编程语言,特别是游戏开发的基本概念。下面将详细讲解这个项目涉及的知识点。 首先,Flappy Bird是一款基于2D图形的游戏,...

    DQN_FlappyBird Pytorch+Q学习实现

    《使用Pytorch与Q学习实现FlappyBird游戏详解》 FlappyBird是一款广受欢迎的休闲游戏,其简单却又极具挑战性的玩法吸引了众多玩家。在本文中,我们将深入探讨如何利用深度强化学习(Deep Q-Network,简称DQN)以及...

    Qt实现游戏FlappyBird

    《Qt实现游戏FlappyBird详解》 在编程领域,Qt是一个强大的跨平台应用程序开发框架,广泛应用于GUI(图形用户界面)程序的构建。本篇文章将深入探讨如何利用Qt技术实现风靡一时的游戏——FlappyBird。FlappyBird以...

    Verilog语言实现基于VGA的FlappyBird.zip

    此次的游戏由原版Flappy bird改装而来,游戏大致规则不变,利用VGA实现画面展示,用Verilog语言实现,增加了利用旋转编码器实现跳跃以及利用旋转编码器实现管子加速的部分,增加了一个固定位置的传送,利用声音...

    Java语言实现Fly-Bird小游戏.zip

    Java语言实现Fly-Bird小游戏.zipJava语言实现Fly-Bird小游戏.zip Java语言实现Fly-Bird小游戏.zipJava语言实现Fly-Bird小游戏.zip Java语言实现Fly-Bird小游戏.zipJava语言实现Fly-Bird小游戏.zip Java语言实现Fly-...

    cocos creator实例--实现FlappyBird游戏的基本功能 | 附代码FlappyBird.zip

    《使用Cocos Creator实现FlappyBird游戏的基本功能》 Cocos Creator是一款强大的2D游戏开发引擎,它提供了直观易用的可视化编辑器和强大的JavaScript编程支持。本实例将深入讲解如何利用Cocos Creator来实现经典...

    python实现的flappybird小游戏

    Python实现的Flappy Bird小游戏是一个基于Python编程语言的简单版经典游戏。Flappy Bird是一款曾经风靡一时的手机游戏,玩家需要控制一只小鸟在管道间穿梭,避开障碍物以获得高分。Python版本的实现主要关注游戏的...

    cadence导出GERBER文件

    cadence 导出 GERBER 文件 Cadence 是一个流行的 PCB 设计软件,而 GERBER 文件是电子制造业中最通用的文件格式。 Cadence 导出 GERBER 文件的过程非常重要,因为它直接影响了 PCB 的制造质量和效率。下面将详细...

    bird生成报表jar包 java生成excel报表

    自己写的java生成excel报表jar包,使用html中的table...对结构不是太复杂的excel报表十分好用,有详细使用说明。不断完善中,欢迎提供意见和建议!(注:list数据集中对象的属性不支持基本数据类型,请使用包装类声明!)

    flay bird C++实现

    《Flay Bird——C++实现详解》 在游戏开发领域,经典的Flappy Bird游戏以其简单却又极具挑战性的玩法,吸引了无数玩家。今天我们将探讨如何使用C++编程语言来实现这样一个小型的游戏。C++是一种强大的、面向对象的...

    FlappyBird游戏源码

    2. 脚本系统:Unity使用C#进行游戏逻辑编写,FlappyBird的Unity版本中,Bird的运动、碰撞检测、游戏逻辑等都是通过C#脚本来实现的。 3. 物理引擎:Unity内置的物理引擎处理Bird的飞行和碰撞。Bird的跳跃通过添加...

    C语言实现flappybird

    用C语言实现简单的游戏,在控制台下模拟flappybird游戏

    FlappyBird源码-java

    虽然Flappy Bird的源码可能不包含复杂的进度保存功能,但简单的高分记录可以通过序列化和反序列化技术实现,如使用java.io.Serializable接口。 通过学习Flappy Bird的Java源码,开发者不仅可以掌握基础的游戏开发...

    flappy_bird 素材资源

    Flappy Bird的背景通常包括蓝天白云或城市景观,这些图像可以通过Scratch的舞台背景设置,实现平滑滚动,模拟出飞行的视觉效果。 2. **管道资源**:管道是Flappy Bird中的核心障碍物,分为上半部分和下半部分。玩家...

    FlappyBird实训报告.docx

    在开发过程中,我们遇到了如性能优化、游戏平衡性调整等挑战,通过不断迭代和测试,最终实现了稳定、有趣的FlappyBird游戏。此外,本次实训也让我们学会了如何在团队中协作,提高了解决问题的能力。 本实训报告旨在...

    基于HTML5实现的FlappyBird

    在Flappy Bird中,小鸟的飞行动画、管道的移动动画都是通过定时器(通常是`setInterval`)在每一帧时更新画面实现的。 5. **物理模拟**:虽然Flappy Bird的物理规则简化了很多,但仍然需要一些基本的物理概念,比如...

    Flappy Bird 试验版

    在这款试验版的Flappy Bird游戏中,你可以看到如何使用MFC进行图形用户界面(GUI)的构建,以及如何实现简单的游戏逻辑。首先,Flappy Bird的核心玩法是控制小鸟避开障碍物,这涉及到游戏循环、碰撞检测和分数计算等...

Global site tag (gtag.js) - Google Analytics