BIRT的“Scripted数据源”开发与部署

  • BIRT的“Scripted数据源”
    • 开发环境
    • 开发实例
      • Java源码
        • 在Java工程中创建复合JavaBean类Contact.java
        • 在Java工程中创建数据工厂类ContactListFactory.java
      • 报表编程
        • 准备步骤
        • 编写数据访问脚
        • 设计报表视图
        • 部署与浏览
  • 参考

BIRT的“Scripted数据源”

  • BIRT是用于制作和生成excel、word、pdf、网页等报表的开源项目。

开发环境

  • 报表编辑器:birt-report-designer-all-in-one
  • WEB服务器:Tomcat
  • 报表引擎:birt-runtime

开发实例

  • 使用JavaBean数据源

Java源码

在Java工程中创建复合JavaBean类Contact.java

在集成了BIRT的Eclipse中建立Java工程:birtJavaProject,并建立amigo.report包,并在该包下建立复合JavaBean的类:Contact.java,该类的代码如下所示:

package amigo.report;public class Contact {private String firstName;private String lastName;public Contact(String firstName, String lastName){this.firstName = firstName;this.lastName = lastName;}public String getFirstName(){return this.firstName;}public String getLastName(){return this.LastName;}}

在Java工程中创建数据工厂类ContactListFactory.java

在Java工程中还需要创建制造数据的工程类:ContactListFactory.java,该类的代码如下所示:

package amigo.report;public class ContactListFactory {public Contact[] createContactList(){Contact[] c = new Contact[2];c[0] = new Contact("stavros", "kounis", "2310886269", address1);c[1] = new Contact("dimitris", "kounis", "2310888270", address2);return c;}
}

报表编程

准备步骤

  • 创建报表工程:birtreport工程
  • 创建报表:helloBirt.rptdesign
  • 创建Scripted数据源:Data Source

  • 创建数据集:Data Set,并且在outputColumn编辑


    详细步骤:Eclipse BIRT Script Data Source示例

编写数据访问脚

打开“helloBirt.rptdesign”,切换到“Script”,在“Data Explorer”视图中选择刚才创建的数据集

  • open对应的脚本如下所示:
count = 0;
cf = new Packages.amigo.report.ContactListFactory();
c = cf.createContactList();

如下图:

  • 在“Script”的下拉框中选择“fetch”,对应的脚本如下所示:
if (count <= c.length - 1){row["firstName"] = c[count].getFirstName();row["lastName"] = c[count].getLastName();count ++;return true;
}

设计报表视图

视图中选择layout,简单地将我们建立的data set 拖到报表视图中即可,在preview中可能报错。

部署与浏览

  • 部署birt报表引擎:将birt-runtime的目录下的 WebViewerExample 工程的文件都拷贝到Tomcat的 webapps 下面。
  • 部署报表xml文件:将helloBirt.rptdesign报表文件拷贝到Tomcat根目录 /webapps/WebViewerExample 工程下。
  • 部署Java源码:Tomcat根目录 /webapps/WebViewerExample/WEB-INF 目录下建立classes子目录,存放Java工程中的三个类文件对应的class文件,将 birtJavaProject/bin 下的amigo目录 整个拷贝到 Tomcat根目录 /webapps/WebViewerExample/WEB-INF/classes 目录,完成报表文件的部署。

访问地址为:
http://localhost:8080/WebViewerExample/frameset?__report=helloBirt.rptdesign

在浏览器的运行效果图如下所示:

参考

  • BIRT接口的一些参数:birt部署
  • 详细步骤和分组示例:Eclipse BIRT Script Data Source示例

BIRT的“Scripted数据源”相关推荐

  1. 第三章 BIRT数据源的配置

    转载自:https://blog.csdn.net/z1012890225/article/details/37815947 选择数据资源管理器(Data Explorer).如果使用缺省报表设计透视 ...

  2. java birt project_Eclipse BIRT问题解决汇总(不断更新)

    1.复合JavaBean数据源 1.1说明 在使用Eclipse BIRT进行报表开发时,会遇到使用复合型的JavaBean作为数据源的情况,例如Contact对象有一个Address类型的对应add ...

  3. BIRT:基于 Eclipse 的报表

      胡键 , 西安交通大学硕士 2006 年 3 月 22 日 几乎在各种应用中,报表都具有其不可替代的作用.各类报表软件也是争奇斗艳,如今Eclipse也推出了自己的报表框架:BIRT.现在,让我们 ...

  4. 大主子表关联的性能优化方法

    [摘要] 主子表是数据库最常见的关联关系之一,最典型的包括合同和合同条款.订单和订单明细.保险保单和保单明细.银行账户和账户流水.电商用户和订单.电信账户和计费清单或流量详单.当主子表的数据量较大时, ...

  5. 报表工具对比之润乾报表与锐浪报表对比

    目前市场上报表工具五花八门,国内的.国外的.开源的.收费的,让人不免有眼花缭乱之感.本文将简单地从报表设计.数据处理.数据填报.数据分析.集成调用几方面对大家使用的比较多的润乾报表和锐浪报表(Grid ...

  6. MyEclipse图表工具Birt的使用技巧(三)--连接webservice数据源

    Web Services 技术是一套标准.它定义了应用程序怎样在Web上实现互操作. 用户能够使用不论什么语言.在不同的平台下编写Web Services.然后通过Web Services 的标准来对 ...

  7. 【BIRT】使用rptlibrary设置统一数据源

    在使用birt开发报表的过程中我们通常会发现,如果直接在报表中写死数据源的话,那么之后如果数据库服务器发生变更,那么所有的报表都得一一去修改数据源 这是一个相当耗时间的过程. 1.首先新建librar ...

  8. 三、BIRT数据源的配置

    选择数据资源管理器(Data Explorer).如果使用缺省报表设计透视图,则数据资源管理器位于布局编辑器的左边,在画板(Palette)的旁边,如图所示.如果它尚未打开,则选择窗口->显示视 ...

  9. SpringBoot 集成 Birt

    需求 BIRT 一般是可以通过单独部署一个Webviewer的工程来处理客户的report查看请求.但是有些需求可能是根据业务规则定制查询条件生成report,然后定期生成report放在数据库里,供 ...

最新文章

  1. [15] 星星(Star)图形的生成算法
  2. JAVA程序设计----多线程(上)
  3. windows c语言 redis,windows上使用VS2012 C++语言调用Redis的解决方案
  4. python圆形_Python中的圆形范围
  5. 异常捕获try...catch... c#
  6. 程序员疯狂记事:如何利用众多技术栈构建一个 Web 应用程序?!
  7. 这个网站还不错,可以多看看(这个是学习的网站,没有广告)
  8. 【NLP】word2vec 模型
  9. Windows中解压Linux中产生的tar.gz分卷压缩包
  10. 常见的SQL面试题:经典50例
  11. 设置计算机网络文件共享,局域网电脑文件共享怎么设置
  12. 银行对公业务数字化迎来新机遇
  13. 泰拉瑞亚 服务器linux,Linux/CentOS7搭建泰拉瑞亚原版/mod服务器教程
  14. r语言进行自然语言处理_开始进行自然语言处理
  15. ODATA 后台报错,添加message
  16. ERROR: No Jack server running
  17. 指针在c语言中起什么作用,编程中指针的作用是什么?
  18. python人工智能决策系统_用Python学人工智能
  19. 超声波焊接机供电电源发生器设计
  20. Linux中用tar包配置samba,Linux建域使用samba(二)——安装Samba

热门文章

  1. 淘宝足迹推荐位是什么
  2. 单工、半双工与全双工
  3. 【有点狂的手撕STL】STL源码剖析精读 000
  4. css中大于符号是什么意思
  5. 人力资源:一个很著名的测试
  6. Flink中定时器的使用
  7. 【MATLAB】MATLAB 仿真模拟调制系统 — FM 系统
  8. mysql varchar 索引_MySQL索引使用:字段为varchar类型时,条件要使用''包起来
  9. 商人宝免费小程序商城有哪些显而易见的好处
  10. 一文搞懂Java Lambda表达式