在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的导出选项了。
好了,就说这些了~~~~~大家可以自已去尝试一下。
分享到:
相关推荐
Birt 2.3.2.2学习资料,里面有大量Birt的报表例子
birt 3.7 导出[中文]文件名 1. 在src下建立report_name_cn.properties文件 key为报表源文件名 value 为导出名如下: rurallowincome_report_1=扶贫进展统计
NULL 博文链接:https://wicketuser.iteye.com/blog/1631327
birt4.4.1导出报表中文名称,jar包已经修改好,直接web.xml的配置文件就可以,里面并附有说明文档。
birt 导出excel插件,支持导出带图片的报表
birt 脚本数据源示例,birt 脚本数据源示例,birt 脚本数据源示例
key为报表源文件名 value 为导出名如下:rurallowincome_report_1=扶贫进展统计 ...2.修改web.xml中 BIRT_FILENAME_GENERATOR_CLASS 为 org.eclipse.birt.report.utility.filename.TimestampFilenameGenerator
birt分组导出Excel表格空行解决方案
BIRT4.4导出xlsx格式实现单sheet存储文档
其中包括:使用BIRT创建存储过程数据源,在BIRT报表中使用平面文件(flat file)数据源,在Birt中使用Web Services数据源等!
如何在birt中显示数据源中html代码如图数据库中的数据是这样的:现在我们要html代码翻译过来操作:放一个text在要展示的地方 如图:双击text 如图选
birt xml 数据源
概述 基于一个JDBC数据源,用户可以创建 --“SQL选择查询”数据集(Data Set)-- 用于报表中有数据来自于某个SQL选择...本文介绍了BIRT中JDBC数据源及“SQL选择查询”数据集的基本使用方法,采用的版本是BIRT 2.3.0。
如何导出报告数据 构建共享的报告开发框架 如何将元素添加到库中 如何设置报告设计的主题 如何从报告设计中删除主题 如何创建模板报告项 如何设置模板文件夹 如何发布模板 如何使用模板报告项 将文本本地化...
宋体" /> </composite-font>
你是否在为每一张birt报表都需要设置数据源,而修改时又需要没张报表修改数据源配置而犯愁呢!有这这个文档后你就可以实现动态数据源配置,只需要修一个地方,所有报表的数据源都可以更改!快看看吧!
如何导出报告数据 第十九章、构建共享的报告开发框架 如何将元素添加到库中 如何设置报告设计的主题 如何从报告设计中删除主题 如何创建模板报告项 如何设置模板文件夹 如何发布模板 如何使用模板报告项 第二十章、...
birt从配置文件读取数据源birt从配置文件读取数据源