`
cyfgod
  • 浏览: 64840 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

[原创]BIRT2.3中的数据导出功能扩展应用

    博客分类:
  • BIRT
阅读更多
在BIRT2.3版本之前,BIRT Viewer只支持默认的CSV格式的数据导出,用户很难自定义导出格式和一些导出的逻辑,很难扩展化。从BIRT2.3之后,总算加入了对数据导出功能的扩展。用户可以很方便的自定义导出格式,可以在代码中添加自已的处理逻辑。所有这些,都基于BIRT提供了一个新的Extension Point--"org.eclipse.birt.report.engine.dataExtraction"。

BIRT提供了一个默认的实现,导出为CSV格式。用户完全可以基于这个实现的代码,实现自已的导出格式,如导出为XML格式,甚至可以保存到数据库。

下面我将给出一个大致的实现步骤:

1) 在eclipse下,新建plugin project。
2) 修改plugin.xml,添加extenion point定义。举例如下:

    <?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
   <extension
         point="org.eclipse.birt.report.engine.dataExtraction">
         <dataExtraction
         id = "org.eclipse.birt.report.engine.dataextraction.xml"
         name = "XML"
      format = "xml"
      mimeType = "text/xml"
      class = "org.eclipse.birt.report.engine.dataextraction.xml.DataExtractionImpl"/>
   </extension>
</plugin>

注意,id, name, format,mimeType, class都是必须的。

3) 实现IDataExtractionExtension接口
    该接口主要有三个方法:
public void initilize( IReportContext context, IDataExtractionOption option ) throws BirtException
public void output( IExtractionResults results ) throws BirtException
public void release( )

initialize方法会传入报表相关的IReportContext对象,如果需要获取报表相应的信息,可以通过该对象。

IDataExtractionOption对象是从BIRT viewer传入的一些参数。
如:
(Map) this.option.getOption( "birt.viewer.parameters" )--得到viewer相关的参数(包含用户在url上传入的自定义参数)
(Locale)this.option.getOption("birt.viewer.locale")--得到locale信息
(String[])this.option.getOption("birt.viewer.export.columns")--得到选中的columns。

具体的实现逻辑可以在output方法里实现,应该非常容易理解。

4) 最后一步当然是发布了,非常简单,打包成plugin,然后放到WEB-INF/platform/plugins下就可以了,注意BIRT已经有了一个org.eclipse.birt.report.engine.dataextraction.csv.jar的plugin,和它放一起就行了。

5) 打开页面,在export dialog里就会看到多了一个XML的导出选项了。

好了,就说这些了~~~~~大家可以自已去尝试一下。
分享到:
评论
2 楼 cyfgod 2008-11-23  
zuoming99 写道

请问如果我想自己写excel的导出功能的话,是不是也要这样?
因为birt的frameset模式有些慢,客户用起来很不爽

这个只是用于数据的导出,和报表导出功能不一样。
现在BIRT提供Excel的报表导出功能,如果自已想扩展的话,可以扩展BIRT Engine的相关plugin extension。现在提供导出html/word/excel/pdf/ps/powerpoint......
1 楼 zuoming99 2008-11-14  
请问如果我想自己写excel的导出功能的话,是不是也要这样?
因为birt的frameset模式有些慢,客户用起来很不爽

相关推荐

    Birt 2.3.2.2学习资料

    - **集成应用**:可以将Birt报表嵌入到Web应用程序或企业级应用中,实现数据的实时展现和分析。 #### 三、示例分析 根据提供的部分内容,我们可以看到一些具体的Birt报表示例: - **Add Map Rule in before ...

    birt 修改导出的文件名

    标题中的“birt 修改导出的文件名”指的是在BIRT(Business Intelligence and Reporting Tools)平台上,用户希望自定义报告导出时的默认文件名。BIRT是一个开源的报表系统,用于生成动态的企业级报表,它允许开发...

    birt 报表教程 中文

    它提供了丰富的功能来支持报表的设计、预览、发布和集成到Web应用程序中。 **1.1 报表设计流程** - **规划报告**:明确报表的目标和受众,确定所需数据源以及报表的结构和布局。 - **启动新的报告设计**:在BIRT...

    birt4.4.1导出报表中文名称

    BIRT是一个开源的报表系统,它提供了强大的数据可视化和报告生成能力,广泛应用于Java应用程序中。 在BIRT 4.4.1中,为了实现报表导出时显示中文名称,开发者可能需要进行一些特定的配置。首先,描述中提到的"jar包...

    birt 导出excel插件,支持导出带图片的报表

    birt 导出excel插件,支持导出带图片的报表

    BIRT4.4导出xlsx格式实现单sheet存储

    幸运的是,BIRT4.4支持导出Excel2007格式即xlsx格式文件,该格式文件能够在一个sheet中存储超过六万条数据,这远远超过了Excel2003格式即xls格式的限制。那么,如何实现单sheet存储所有数据呢? 答案是,我们需要...

    birt 3.7 导出中文文件名

    birt 3.7 导出[中文]文件名 1. 在src下建立report_name_cn.properties文件 key为报表源文件名 value 为导出名如下: rurallowincome_report_1=扶贫进展统计

    birt中文帮助文档

    6. **脚本和扩展**:BIRT允许用户使用JavaScript进行脚本编写,实现更高级的功能,如动态数据处理、计算逻辑、自定义行为等。此外,BIRT的开放架构允许开发人员通过插件进行功能扩展。 7. **运行时环境**:BIRT的...

    birt xml数据源

    BIRT是由Eclipse基金会维护的一个开源项目,旨在为Java和Web应用程序提供报表设计和展示功能。它支持多种数据源,包括关系型数据库、XML、Web服务等,使得开发人员能够轻松地集成报表到他们的应用中。 2. **XML...

    birt脚本数据源示例

    实际应用中,BIRT脚本数据源可以用于多种场景,例如: - **非标准数据库**:如果你的数据存储在不支持标准JDBC驱动的数据库中,可以通过脚本数据源自定义数据访问逻辑。 - **API调用**:你可以编写脚本直接调用Web...

    birt中文使用说明

    BIRT(Business Intelligence and Reporting Tools)是开源的报表系统,主要设计用于开发应用程序中的数据可视化和商业智能功能。本使用说明将深入介绍如何在中文环境下有效地利用BIRT进行数据分析和报告制作。 一...

    birt报表详细中文文档

    13. **插件扩展**:BIRT的开放架构允许开发人员创建自定义数据提取方法、渲染引擎和报表组件。 14. **协作与共享**:BIRT可以通过Web接口实现报表的在线查看和共享,便于团队协作。 通过这份“birt中文帮助文档”...

    BIRT中文帮助文档

    BIRT的核心功能包括报表设计、数据可视化、数据分析以及数据挖掘,广泛应用于企业级的数据展示和分析场景。 **报表设计**: 在BIRT中,报表设计是通过可视化的报表设计器实现的,它提供了丰富的图表类型、表格样式...

    birt 报表动态数据源设置方法

    4. **在运行时应用动态数据源**:当报表运行时,BIRT会使用这些参数值填充到数据源的连接字符串中,从而动态地连接到指定的数据库。 5. **测试和验证**:确保动态数据源配置正确无误后,可以运行报表进行测试,观察...

    Birt数据源设置方试

    在IT行业中,报告生成工具BIRT(Business Intelligence and Reporting Tools)是开源的,广泛用于创建复杂的业务报告...无论是在企业内部还是跨组织的协作中,BIRT的这些功能都极大地提升了数据处理和报告生成的效率。

    birt组成部分和使用说明关键点讲解扩展点讲解使用oda扩展

    - **其他扩展**:BIRT提供了多种扩展点,如报告样式、图表类型、数据处理等,使得开发者能够定制报告的各个层面,增强功能。 4. **BIRT Scripting**: - **表达式**:在报告设计中,表达式用于计算值,如数据绑定...

    birt数据集参数与列绑定实现

    本主题将深入探讨如何实现数据集之间的参数传递以及列的绑定,以充分利用BIRT的功能来创建高效的报告。 首先,我们要理解什么是数据集。在BIRT中,数据集是一个预定义的SQL查询或者一个数据源查询,它从数据库或者...

    birt 汉化包 多国语言包 2.3.1

    解压到安装birt的eclipse对应文件夹中(plugins) 装好汉化包后 删除eclipse下的configuration目录里org.eclipse.update文件夹 再重启,选择Window-&gt;Preferences-&gt;BIRT-&gt;Preview选择你所需要的语言,再重启就可以了。

    birt 使用session数据, 通过servlet访问

    标题 "birt 使用session数据, 通过servlet访问" 涉及到的是在BIRT(Business Intelligence and Reporting Tools)报告引擎中如何利用HTTP Session来传递和使用数据,特别是通过Servlet进行访问。在这个场景下,...

    birt应用到项目

    例如,通过使用BIRT的API,可以在应用程序中触发报告的生成和导出,或者在Web页面上嵌入实时更新的报告。 值得注意的是,虽然BIRT是开源的,但其社区活跃,提供了大量的教程、插件和示例,可以帮助开发者快速上手。...

Global site tag (gtag.js) - Google Analytics