精华内容
下载资源
问答
  • bird 报表 这是使用Birt插件在Eclipse中构建报告的完整指南。 Birt或Business Intelligence and Reporting工具是一种无需编写太多Java代码即可生成报告的工具。 如果您使用的是ireport,那么您知道我在说什么:)...

    bird 报表

    这是使用Birt插件在Eclipse中构建报告的完整指南。

    Birt或Business Intelligence and Reporting工具是一种无需编写太多Java代码即可生成报告的工具。 如果您使用的是ireport,那么您知道我在说什么:)(晶体报告..毫无意义:D)

    Ireport的主要缺点是我们必须编写太多代码才能构建可以集成到Java应用程序的简单报表。 但是在Birt中,无需编写代码,只需拖放n即可。

    Birt是可以下载的Eclipse插件(仅Eclipse)。 因此,在本文中,我们演示了如何轻松创建一些示例报表:)

    开始了…

    第1步

    • 下载Eclipse( http://www.eclipse.org/
      • 您可以为报告用户下载eclipse(Birt插件附带)
    • 如果您已经有了Eclipse,则只需安装birt插件
      • 帮助–>安装新软件–>单击添加
      • 命名为Birt,位置为http://download.eclipse.org/birt/update-site/3.7-interim/
      • 点击确定
      • 选择所有软件包(tic)并接受许可协议(无论我们是否喜欢:P)。
      • 下载所有软件包将花费一些时间,下载后重新启动Eclipse。

    第2步

    • 在使项目调整您对报表设计的看法之前
    • 要执行该窗口–>显示视图–>其他
    • 选择报告选项卡,然后选择所有字段

    第三步

    • 现在是时候创建新项目了
    • 文件–>新建–>其他–>商业智能和报告工具–>报告项目
    • 为项目命名,然后单击完成。

    第4步

    • 现在创建了项目。 但是我们必须创建一个报告。
    • 要执行该文件–>新建–>其他–>商业智能和报告工具–>报告
    • 给报告命名,然后单击“下一步”。
    • 在这里,您可以选择报告模板。 (如果您有一个,可以使用它。但是在必须注册报告模板之前。稍后将进行讨论)
    • 我选择空白报告,然后单击完成。

    第5步

    • 现在报告就可以了。 但是我们需要显示数据。
    • 单击左侧的Palette(这是所有控件都拥有的位置),然后将Table组件拖放到报表设计中。
    • 输入行数和列数,然后单击“确定”。
    • 现在,您可以在报告视图中查看表格(您当前所处的布局)

    第6步

    • 至此基本设计部分就完成了。 但是数据? (给我5分钟)
    • 单击数据资源管理器(右侧为Palatte)–>右键单击并选择新的数据源
    • 在这里,我们可以配置数据库。 对于此演示,我们在Birt附带的内置数据库中进行配置。 (经典模型)(其他人稍后再说)
    • 选择经典模型–>下一步–>完成。

    步骤7

    • 右键单击数据集–>新数据集–>下一步
    • 在查询窗口中,您可以看到可用的数据库。
    • 选择“ CLASSICMODELS”将其展开。
    • 在查询文本区域中,您可以编写SQL查询。
    • 在这里,我们选择客户名称,客户名字和客户电话(您可以通过双击可用项中的表值来执行此操作)
    • 单击确定后,您可以看到窗口编辑数据集(如果有任何查询问题,它将显示一些错误窗口)

    步骤8

    • 单击“预览”选项卡(在布局中),您可以看到数据输出。
    • 运行–>查看报告–>在Web浏览器中–>您可以在Web浏览器中查看该报告。
    • 可以提供更多高级功能,例如导出到doc,pdf,ppt等。

    这是关于Birt报告的一些基本知识。 但是比尔特不仅如此。 您可以编写javascript以获得更多功能。 我们稍后再讨论。 那就是说高级Birt :)

    参考:来自我们的JCG合作伙伴 Rajith Delantha的Birt Made Report Easy ,该博客与Rajith…博客合影


    翻译自: https://www.javacodegeeks.com/2012/05/birt-made-report-easy.html

    bird 报表

    展开全文
  • java web工程中使用帆软报表生成报表

    千次阅读 2019-01-15 10:55:53
    具体详情参考我前面的博客:https://blog.csdn.net/bird_tp/article/details/86483076 下面进行java代码的工作 1.controller中写好读取实体类列表数据的接口,需注意的是,接口返回的必须是实体类, 2.将保存好...

    1.新增模板,新增模板数据集,新增文件数据集

    具体详情参考我前面的博客:https://blog.csdn.net/bird_tp/article/details/86483076

    下面进行java代码的工作

    1.controller中写好读取实体类列表数据的接口,需注意的是,接口返回的必须是实体类,

    public static ResponseEntity<String> getXmlEnitity(List< ? > list) {
        HttpHeaders responseHeaders = new HttpHeaders();
        responseHeaders.add("Content-Type", "application/xml; charset=utf-8");
        String text = listToDatasetXml(list);
        return new ResponseEntity<String>(text, responseHeaders,
                HttpStatus.CREATED);
    }
    public static <T> String listToDatasetXml(List<T> rows) {
        XStream xstream = new XStream(new DomDriver("UTF-8"));
        if (rows == null) {
            rows = new ArrayList<T>();
        }
        if (!rows.isEmpty()) {
            xstream.alias("row", rows.get(0).getClass());
        }
        return "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"
                + xstream.toXML(rows);
    }
    

    2.将保存好的cpt文件,放到java工程里,我的地址是放在web-inf下的一个专门拿来防止cpt文件的文件夹

    文件如下:

    3.js中编写函数,调用cpt文件与接口函数

    到了这里,点击绑定导出事件的控件,即可实现报表的下载,需注意的是,工程中需要导入帆软所需的jar包

    展开全文
  • 使用Eclipse BIRT和POJO的报表教程

    千次阅读 2014-10-15 17:29:43
    本教程介绍如何使用Eclipse BIRT和POJO来制作报表。本教程还介绍了如何部署所制作的BIRT报表到Web容器(Tomcat)中,以及如何把它运用到一个Eclipse RCP应用程序中。 本教程使用的是Eclipse 3.7 (Indigo)。

    Eclipse Birt

    本教程介绍如何使用Eclipse BIRT和POJO来制作报表。本教程还介绍了如何部署所制作的BIRT报表到Web容器(Tomcat)中,以及如何把它运用到一个Eclipse RCP应用程序中。 本教程使用的是Eclipse 3.7 (Indigo)。

    原文传送门:http://www.vogella.com/tutorials/EclipseBIRT/article.html


    1. Eclipse BIRT

    1.1. 概述

    Eclipse BIRT允许创建基于来自不同数据源数据的报表。

    BIRT提供了以下数据源: 

    • 数据库(通过JDBC) 
    • 文本文件(CVS,XML) 
    • Web服务(WSDL通过档案) 
    • 脚本数据源 

    您使用BIRT的“数据集”来定义查询的数据源。这些数据集可以在报表中使用。 

    在Java程序中,经常方便地使用Java对象作为数据源的报表。本文将重点放在简单Java对象(POJO)作为数据源的BIRT报表的使用。

    1.2.示例 

    在本教程中,我们将建立一个报表,该报表将显示美国的股票市场信息。我们从一个Java对象中获取数据,该数据将显示在一个图表和详细信息的表格中。其结果应该是这样的:



    2.安装 

    使用Eclipse Update Manager来安装“Business Intelligence, Reporting and Charting” - > BIRT Framework。 


    3.创建项目和报表 

    创建一个新的Java项目名称为“de.vogella.birt.stocks”。 

    通过File -> New -> Other -> Business Intelligence and Reporting -> Report来创建一个新的报表“stock_report.rptdesign”。








    新的报表显示在“报表设计”的角度。删除例子报表中的一切,除了报表的标题。结果应该像下面这样。




    4.Java类 

    该报表将显示股票数据。为了证明BIRT我们使用模拟对象提供数据。 

    创建包“de.vogella.birt.stocks.model”,然后在下面的类。这个类将代表域模型。

    package de.vogella.birt.stocks.model;
    
    import java.util.Date;
    
    /**
     * Domain model for stock data
     * @author Lars Vogel
     */
    
    
    public class StockData {
      private Date date;
      private double open;
      private double high;
      private double low;
      private double close;
      private long volume;
    
      public double getClose() {
        return close;
      }
    
      public void setClose(double close) {
        this.close = close;
      }
    
      public Date getDate() {
        return date;
      }
    
      public void setDate(Date date) {
        this.date = date;
      }
    
      public double getHigh() {
        return high;
      }
    
      public void setHigh(double high) {
        this.high = high;
      }
    
      public double getLow() {
        return low;
      }
    
      public void setLow(double low) {
        this.low = low;
      }
    
      public double getOpen() {
        return open;
      }
    
      public void setOpen(double open) {
        this.open = open;
      }
    
      public long getVolume() {
        return volume;
      }
    
      public void setVolume(long volume) {
        this.volume = volume;
      }
    
    } 
    创建包“de.vogella.birt.stocks.daomock”,然后在下面的类“StockDaoMock”。这只会模拟/假数据并没有真正从互联网上得到它,因为我们在这里学习的BIRT这样就应该可以了。

    package de.vogella.birt.stocks.daomock;
    
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.List;
    
    import de.vogella.birt.stocks.model.StockData;
    
    public class StockDaoMock {
    
      public List<StockData> getStockValues(String company) {
        // Ignore the company and always return the data
        // A real implementation would of course use the company string
        List<StockData> history = new ArrayList<StockData>();
        // We fake the values, we will return fake value for 01.01.2009 -
        // 31.01.2009
        double begin = 2.5;
        for (int i = 1; i <= 31; i++) {
          Calendar day = Calendar.getInstance();
          day.set(Calendar.HOUR, 0);
          day.set(Calendar.MINUTE, 0);
          day.set(Calendar.SECOND, 0);
          day.set(Calendar.MILLISECOND, 0);
          day.set(Calendar.YEAR, 2009);
          day.set(Calendar.MONTH, 0);
          day.set(Calendar.DAY_OF_MONTH, i);
          StockData data = new StockData();
          data.setOpen(begin);
          double close = Math.round(begin + Math.random() * begin * 0.1);
          data.setClose(close);
          data.setLow(Math.round(Math.min(begin, begin - Math.random() * begin * 0.1)));
          data.setHigh(Math.round(Math.max(begin, close) + Math.random() * 2));
          data.setVolume(1000 + (int) (Math.random() * 500));
          begin = close;
          data.setDate(day.getTime());
          history.add(data);
        }
        return history;
      }
    } 


    5.数据源和数据集 

    使用Java对象(POJO的)作为数据源在Eclipse BIRT你要映射的Java类的JavaScript的领域。这个JavaScript用于在您的报表,并会访问Java对象。 

    5.1.创建数据源 

    数据源与报表连接您的数据。 BIRT提供不同类型的数据源,我们使用“脚本数据源”。回到你的stocks_report,使用“Report Design”的角度来看,选择“Data Explorer”查看。

    创建一个新的数据源,在您的报表名为“srcStocks”。





    5.2.该数据集 

    该数据集定义了数据源的数据和BIRT的数据映射。创建一个名为“dataSetSocks”新的数据集。






    按下一步,并定义报表的列。




    5.3. JavaScript

    现在我们就来编写JavaScript做为我们的数据集。选择数据集,然后选择“open”的脚本。打开脚本之前所述第一访问的数据集调用。我们用它来装载我们的名单与股票的对象。要访问一个Java类,你只需要使用以下语法:Packages.myJavaClass其中myJavaClass是完整的Java类名。



    count = 0;
    
    // create instance of
    // the GetStockHistory class
    gsh = new Packages.de.vogella.birt.stocks.daomock.StockDaoMock(); 
    
    //Load the List
    
    stock = gsh.getStockValues("Java"); 
    复制下面的代码到获取脚本。

    if(count < stock.size()){
           row["columnDate"] = stock.get(count).getDate();
           row["columnOpen"] = stock.get(count).getOpen();
           row["columnHigh"] = stock.get(count).getHigh();
           row["columnLow"] = stock.get(count).getLow();
           row["columnClose"] = stock.get(count).getClose();
           row["columnVolume"] = stock.get(count).getVolume();
           count++;
           return true;
    }
    
    return false; 

    通过双击dataset -> Preview Result来检查您的脚本



    6.显示表中的数据 

    6.1.概述 

    现在,我们将在一个表中显示数据。 

    6.2.创建一个表 

    从“Data Explorer”切换到“Palette”。选择“Layout”标签。



    拖放报表上的表格元素。



    为表定义以下设置。



    返回到"Data Explorer"。然后,拖放数据集的列到表中的“Details row”。




    结果应该像下面这样。




    完成。你可以看到这份报表的预览,如果你点击“Review”选项卡。结果应该如下所示:




    7.图

    7.1.创建图表 

    切换回调色板中选择一个图表和拖放在您的报表。 

    选择折线图的标准设置。




    按下一步,选择你的数据集。




    在接下来的步骤中,我们必须分配列到轴线上。我们指定的时间作为x轴,然后通过拖放打开值到y轴上。




    一共定义5个系列。通过拖动列的总和符号指定的列到这些系列。




    目前在x轴的第一显示最新日期。反向x轴所必须的数据升序进行排序。按突出显示的按钮。




    转到下一个标签,并给你列给出的标题。隐藏在最后一个。




    日期的显示使用长格式,我们想改变这种情况。执行以下,并选择“short”为日期类型的X轴




    改变通过以下的线的显示。




    点击Finish按钮把图表引入到您的报表中。


    8.在Tomcat中部署 

    8.1.概述 

    下面介绍如何使用Tomcat的BIRT报表。一般来说,你需要: 

    • 安装BIRT Web查看器中的Tomcat 
    • 您的BIRT项目导出到.jar文件 
    • 移动.jar文件到BIRT安装目录/ WEB-INF / lib目录 
    • 将报表设计文件为BIRT在Tomcat的根目录 
    • 重新启动Tomcat 

    8.2.在Tomcat的安装BIRT 

    我们将利用我们假设已经安装的独立的Tomcat6.0。请参阅Apache Tomcat Tutorial的详细信息。 

    你需要http://download.eclipse.org/birt/downloads/的“BIRT部署的组件”。 

    此下载的birt.war复制到Tomcat的webappsfolder。

    BIRT的例子应该在http://localhost:8080/birt/中有效了。如果你看到这样的事情,你的Tomcat的您的Web浏览器应该是正确的。



    8.3.安装在Tomcat中的BIRT报表 

    要运行自己的报表,你必须在.rptdesign文件复制在Tomcat中的BIRT文件夹的根目录。为了使您的Java类,可将项目导出到一个jar文件。








    在那之后的jar文件必须复制到Tomcat的webapps/ BIRT/ WEB-INF/ lib /目录。重新启动Tomcat,然后导航至您的报表。 

    你的报表应该在HTTP上找到http://localhost:8080/birt/frameset?__report=stock_report.rptdesign




    9.部署在Eclipse RCP应用程序 

    9.1. BIRT部署到RCP应用程序 

    我们可以使用Birtviewer也在本地RCP的应用,这是不超过一个浏览器视图,它示出了由一个集成的网络服务器产生的HTML页面。 

    下面假设你已经熟悉的Eclipse RCP开发。请参阅Eclipse RCP的教程的情况下,你需要一个介绍。 

    转换“de.vogella.birt.stocks”到插件项目,通过右键单击 -> Configure -> "Convert to plug-in project"。 

    创建一个新的插件项目“de.vogella.birt.stocks.rcp”。选择模板“RCP Application with a view”。 

    添加以下插件,dependendies为“de.vogella.birt.stocks.rcp”。

    Manifest-Version: 1.0
    Bundle-ManifestVersion: 2
    Bundle-Name: Rcp
    Bundle-SymbolicName: de.vogella.birt.stocks.rcp; singleton:=true
    Bundle-Version: 1.0.0.qualifier
    Bundle-Activator: de.vogella.birt.stocks.rcp.Activator
    Require-Bundle: org.eclipse.ui,
     org.eclipse.core.runtime,
     org.eclipse.birt.report.viewer,
     org.eclipse.birt.report.engine.emitter.html,
     de.vogella.birt.stocks,
     org.eclipse.birt,
     org.eclipse.birt.chart.ui,
     org.eclipse.birt.chart.device.extension,
     org.eclipse.birt.chart.device.pdf,
     org.eclipse.birt.chart.device.svg,
     org.eclipse.birt.chart.device.swt,
     org.eclipse.birt.chart.engine.extension,
     org.eclipse.birt.chart.reportitem,
     org.eclipse.birt.chart.reportitem.ui,
     org.eclipse.birt.chart.ui.extension,
     org.eclipse.birt.core.script.function,
     org.eclipse.birt.report.engine.script.javascript
    Bundle-ActivationPolicy: lazy
    Bundle-RequiredExecutionEnvironment: JavaSE-1.6 
    复制你的报表到这个新项目,并重命名为“stock_report_rcp.rptdesign”。打开此报表,并将“open”脚本更改为如下。

    count = 0; 
    /*
     * load and init data reader
     * import Platform from org.eclipse.core.runtime
     */
    importPackage(Packages.org.eclipse.core.runtime);
    
    /* load bundle with POJOs and data loading class */
    
    myBundle = Platform.getBundle("de.vogella.birt.stocks");
    
    /* load data reader class */
    readerClass = myBundle.loadClass("de.vogella.birt.stocks.daomock.StockDaoMock");
    
    /* create new instance of DataReader */
    readerInstance = readerClass.newInstance();
    
    
    /* read data */
    stock = readerInstance.getStockValues("Java"); 
    使用下边代码做为View.java。

    package de.vogella.birt.stocks.rcp;
    
    import java.io.IOException;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    import org.eclipse.birt.report.viewer.utilities.WebViewer;
    import org.eclipse.core.runtime.FileLocator;
    import org.eclipse.core.runtime.Path;
    import org.eclipse.core.runtime.Platform;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.browser.Browser;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.ui.part.ViewPart;
    import org.osgi.framework.Bundle;
    
    public class View extends ViewPart {
      public static final String ID = "de.vogella.birt.stocks.rcp.view";
    
      public void createPartControl(Composite parent) {
        String path = "";
        try {
          Bundle bundle = Platform.getBundle("de.vogella.birt.stocks.rcp");
          URL url = FileLocator.find(bundle, new Path("stock_report_rcp.rptdesign"), null);
          path = FileLocator.toFileURL(url).getPath();
        } catch (MalformedURLException me) {
          System.out.println("Fehler bei URL " + me.getStackTrace());
        } catch (IOException e) {
          e.printStackTrace();
        }
    
        Browser browser = new Browser(parent, SWT.NONE);
        // use the filename of your report
        WebViewer.display(path, WebViewer.HTML, browser, "frameset");
      }
    
      
    /**
       * Passing the focus request to the viewer's control.
       */
    
      public void setFocus() {
      }
    } 

    10.支持这个网站 

    本教程是根据CC BY-NC-SA 3.0 DE授权开放内容。在本教程中的源代码是在Eclipse Public License下发布。请参阅重用的条款细节vogella License页面。 

    编写和更新这些教程是一个大量的工作。如果这个免费的社区服务是有用的,你可以通过给小费以及报表拼写错误和事实错误支持的原因。 

    10.1.谢谢 

    如果这篇文章帮助你,请考虑适当捐款。 



    10.2.问题与讨论 

    如果您在本教程中发现错误,请通知我(见top of the page)。请确保您已经阅读vogella FAQ,因为已经有解答,所以我不对这里的问题作出回应。


    11.链接与文献

    11.1.源代码 

    示例源代码 

    11.2. Eclipse的BIRT资源 

    http://wiki.eclipse.org/index.php/BIRT_Project 

    Eclipse BIRT Wiki

    11.3. vogella资源 

    vogella Training Android and Eclipse Training from the vogella team

    Android Tutorial Introduction to Android Programming

    GWT Tutorial Program in Java, compile to JavaScript and HTML

    Eclipse RCP Tutorial Create native applications in Java

    JUnit Tutorial Test your application

    Git Tutorial Put all your files in a distributed version control system

    注:本文对原文进行粗略翻译和略微精简,不足之处还请见谅。

    BIRT相关

    BIRT™ vs JasperReports™ vs Pentaho™ http://www.innoventsolutions.com/comparison-matrix.html
    BIRT Home - Eclipse http://www.eclipse.org/birt/
    在 Eclipse 中用 Java 实现百灵报表(BIRT)的事件处理 http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-birtje/index.html
    BIRT嵌套报表以及参数的传递 http://blog.csdn.net/birtbird/article/details/8482257
    展开全文
  • 一款有名的开源报表产品,并且基于Eclipse,比较适合开发人员使用。对于要用SWT来构建工具有一定的借鉴意义。 转自:http://www.infoq.com/cn/articles/birt2-intro<br />Eclipse商业智能与报表工具简介...

    一款有名的开源报表产品,并且基于Eclipse,比较适合开发人员使用。对于要用SWT来构建工具有一定的借鉴意义。

    转自:http://www.infoq.com/cn/articles/birt2-intro

    Eclipse商业智能与报表工具简介
    作者 Jason Weathersby 译者 张龙 发布于 2008年1月30日 下午10时42分

    社区
    Java
    主题
    数据访问
    标签
    Eclipse
    简介
    Eclipse的商业智能和报表工具(BIRT)项目是一个基于当今流行的Eclipse IDE的开源项目,用于在Java或者J2EE环境下构建和部署报表。该项目提供的主要下载项中包括以下内容:

    BIRT设计器—用来构建报表。
    •Web查看器—一个用来部署报表的J2EE示例,其中包含了一个JSP标签库以降低与现存的web应用的耦合。
    •BIRT制图包—支持构建复杂的图表。 
    BIRT项目于2005年夏天发布了第一个主版本并且到目前为止已经拥有了超过100万的下载量。请访问http://www.eclipse.org/birt来更多地了解BIRT项目,这上面有关于BIRT项目的介绍,指南,下载以及使用的例子。我们将以对BIRT设计器的介绍作为本文的开始,并且以对BIRT查看器的讨论作为本文的结束。其中,BIRT设计器用来进行报表的设计,而BIRT查看器则用来部署设计以及产生最终的报表。

     

    BIRT 2.2 Collage

    BIRT设计器 

    在BIRT的中间位置是由一系列Eclipse插件组成的报表设计器,这些插件构成了一个提供拖拽能力以快速设计报表的设计透视图。报表是以XML格式创建和存储的。

     

    Figure 1 - Eclipse BIRT Designer

    此Eclipse透视图包含了很多视图,这些视图提供了创建报表的功能。我们将在后面对此进行阐述。

    报表编辑器

    报表编辑器用来构建报表并且扮演着一个画布的角色来定位和格式化报表元素。在该视图中有很多标签页,例如布局,母板页,脚本,XML源以及预览。

    •布局标签页用来对报表进行可视化布局并且提供了拖拽的功能。
    •母板页用来设定整个报表的头,脚以及背景图片。例如,该页通常是所有报表头的位置。
    •脚本标签页提供了对JavaScript编辑器的访问。BIRT支持这样一种事件模型,在该模型中可以使用Java或者JavaScript来改写事件处理器。我们可以在报表产生和渲染阶段调用这些事件处理器,并且这些事件处理器还能修改报表属性,比如改变字体颜色,数据值以及调用外部代码。
    •XML源标签页可以显示XML源代码用于报表设计。尽管通常情况下最好使用布局视图,但也可以在此标签页中编辑XML代码。
    •预览标签页允许报表设计者快速地将报表转化为HTML。 注意你也可以利用工具栏以其他被支持的格式来预览报表。
     

    Figure 2 - BIRT Preview


    数据浏览

    在构建报表之前,我们通常都要建立数据源。BIRT提供了数据浏览视图以简化该任务。

     

    Figure 3 - Data Explorer View

    Eclipse视图允许设计者向报表设计器中添加数据源和数据集。本质上,一个数据源仅仅就是数据连接。数据集可以被理解为一个可执行的查询以及该查询所返回的特定的列。

    BIRT提供了对JDBC,XML,flat file(译者注:falt file是一个只能连续的读写的计算机文件。它包含一条或多条记录,每个记录包含一个或多个字段,http://en.wikipedia.org/wiki/Flat_file)和脚本化的数据源的驱动。随着BIRT2.2的发布,BIRT还提供了一个Web Service数据源和一个改进的flat file驱动,现在该驱动已经支持CSV,TSV,SSV以及PSV文件格式。

    BIRT还提供了一个叫做联合数据集(Joint Data Set )的特殊数据集以使用内外连接来整合现存的数据集。当从不同的数据源中整合数据集时该特性的作用就显得尤为明显。除此之外,现在BIRT数据源具备导入或者链接本地连接配置文件的能力以此来达到跨报表的连接共享的目的。

    在增加报表参数和数据体时我们也会使用数据浏览视图。报表参数将呈现给报表的最终用户并且经常用来为特定的用户进行报表的个性化定制。例如:报表参数可以依赖数据集参数来修改查询,我们可以在BIRT的JavaScript表达式中用此来改变报表元素的样式和可见性,或者在脚本事件中基于选择的输出格式来定制内容。

    报表参数可以是静态或者动态的。静态参数允许用户选择预先定义好的值集或者在文本框中输入一个值。动态参数可以是绑定到现存的BIRT数据集的一些数据。例如,用户可以从一个数据集提供的客户列表中选择一个客户。

    此外,BIRT支持级联参数,它可以显示多个下拉列表,并且一个下拉列表显示的内容会随着前一个列表的内容的改变而动态改变。例如,一个级联参数可以在第一个列表中显示客户列表,在第二个列表中显示选中客户的订单。

     

    Figure 4 - Cascaded Parameter

    现在BIRT2.2的动态参数可以支持使用JavaScript表达式来显示文本和参数值。这个改进使得参数列表以一种更符合逻辑的方式呈现给最终用户。例如,在开发一个详细订单的报表时,你可能希望展示一个所有订单的动态参数列表。表达式使得你可以为每个订单增加相应的客户姓名。图5显示了一个动态参数列表。

     

    Figure 5 - Dynamic Parameter Expression

    数据浏览视图也支持数据体的创建。这是BIRT2.2的新特性,且与新的交叉报表元素联合使用。BIRT数据体是多维的,基于一个或多个BIRT数据集,使用新的跨标签数据立方构建器(Cross Tab Cube Builder)来构建的。请参见下面的图表。

     

    Figure 6 - Cross Tab Cube Builder

    除了上面提到的特性,BIRT现在提供两个新的项目类型使得Java开发者可以创建更多的数据源。这些数据源基于Open Data Access(ODA)框架,该框架由Eclipse Data Tools Platform(DTP)项目提供。我们构建图形界面时需要使用ODA设计器插件,该插件是报表开发者使用相应的驱动时所需要的。当开发你自己驱动的运行时部分时,需要利用ODA运行时驱动的插件项目。该插件通常部署在一个运行时环境中,主要负责处理对数据源的调用和结果的获取。

     

    Figure 7 - BIRT Projects

    调色板

    BIRT调色板视图用来向报表画布中添加报表条目。调色板视图包含了一些报表元素,这些元素用来显示从数据浏览视图中获得的数据。仅仅是简单地从调色板视图中拖拽报表到报表编辑器中就可以使用该报表了。BIRT报表元素支持所有可在属性编辑器视图中配置且可被BIRT的报表对象模型(Report Object Model)描述的属性。

     

    Figure 8 - Palette View

    调色板支持以下报表项

    •标签元素用来显示静态文本。像大多数报表元素一样,我们可以改变文本的外观以支持本地化,同时也可以设置超链接,字体大小和高亮等属性。
    •文本元素与标签很相似,不过具有更多的属性:可以显示多行,格式化良好的HTML。利用BIRT的表达式构建器我们可以将现存的数据集的值,参数,JavaScript函数以及BIRT特有的函数注入到格式化的HTML中。通过使用标签,文本元素还可以用于创建可在客户端执行的脚本。
    •动态文本元素经常用来显示CLOB数据类型值。这些值也可以利用BIRT的表达式构建器与其他数据联合使用。
    •数据元素是用来显示来自数据源的值的基本元素。可以利用表达式构建器改变和操纵数据值。例如,如果一个数据集具有一个叫做first name的列,还有一个叫做last name的列,那么你可以利用表达式构建器将二者连接起来组成一个新的数据元素。

    dataSetRow["contactLastName"] + ", " + dataSetRow["contactFirstName"]•图片元素用来管理报表中输出图片。BIRT支持获取URI中的图片以及嵌入在设计器中的图片,来自数据源的动态图片(BLOB)以及文件夹中的图片文件。
    •网格元素作为其他报表元素的容器,以一种合乎逻辑的方式来定位元素位置。网格元素被配置为表格格式。例如,如果你的报表显示产品销量情况,而你想在表格的右侧增加一个图表,那么你就可以增加一个一行两列的网格元素来完成这个任务。
    •列表元素也是作为其他元素的容器。列表不同于其他容器型元素的地方在于列表会迭代绑定到其上的数据集。默认的列表元素有一个头,一个尾和细节部分。当渲染列表时,头和尾通常只显示一次,而绑定到列表的数据集的每一行的细节部分都要显示。在细节部分中可以包含文本元素或者其他的容器型元素,例如网格,表格或者另一个列表。
    •表格元素与列表元素很相似,因为他们都是容器元素并且都会迭代绑定到其上的数据集,但是表格元素是以平面列表方式展现的。表格元素的布局很像HTML的表格一样。表格元素有头,尾和细节部分以及列。
    •聚合元素是BIRT2.2新加入的元素类型,其利用新的聚合构建器来向报表中增加聚合元素。该聚合构建器提供了超过25种不同的函数,例如SUM,MIN,MAX和AVERAGE。
     

    Figure 9 - Aggregation element

    •图表元素允许向报表设计器中插入图表。当一个图表元素被置于报表编辑器中时,图表构建器向导将会自动出现。该向导用来设计图表并提供三个设计标签页(选择图表类型,选择数据和选择图表格式)。BIRT2.2提供了13种图表类型以及很多子类型的组合。图表构建器提供了拖放,图表预览,数据过滤和参数化等功能。图表元素可以以PNG,JPG,BMP和SVG的输出格式呈现,并且这些输出格式支持钻透(drilling through ),高亮(highlighting),开关可视化(toggling visibility)以及客户端脚本(client side script)。
     

    Figure 10 - Chart Wizard

    •跨标签元素也是BIRT2.2中新出现的元素,用来显示BIRT数据体中的数据。在BIRT以前的版本中,表格元素中列的数量在设计时就要确定好,而在跨标签元素的帮助下,列和行的数量都可以动态生成。该元素也支持等级聚合和数据显示,允许三维的行和列并且会测量数据以便使其显示在恰当的交叉点上。
     

    Figure 11 - BIRT Cross Tab element

    库资源管理器

    库资源管理器视图具有拖放功能,使得用户可以从现存的报表库中拖放组件到当前报表中。 BIRT中的库是一些可被其他报表使用的高效报表XML片段。这些库被使用它们的报表所引用,这意味着库的改动会自动地反映到所有使用它们的报表中去。一个很好的示例是使用一个报表库存储公司标识(logo)。如果公司标识改变了,只需要更新库就可以了,而不用更新引用它的报表。库被引用的位置是相对于资源文件夹的,在设计阶段通过设计器,在运行阶段通过Web查看器都可以配置该资源文件夹。

     

    Figure 12 - Library Explorer

    属性编辑器

    属性编辑器视图用来对增加到报表上的报表元素设置属性。视图中显示何种条目将决定于报表编辑器中所选的元素类型。属性窗口中显示一些通用设置,例如样式,宽度和字体信息。此外,大多数报表元素支持可视化的属性设置,这样就可以动态地隐藏内容了。在属性标签的右侧,视图具有如下特性:排序,分组,映射,高亮和过滤页。

    大多数功能都是自说明的,映射标签页允许动态构建(使用表达式构建器),以使得报表元素的显示值可以动态改变。例如,如果月份行的值是“1”,你可能想显示“January”。高亮标签页根据条件来动态地应用不同的样式,例如以红色来显示低销售量。大多数功能都允许在一个条目上应用多个条件或者关键字。一个条件可能改变字体颜色,而另一个条件可能改变字体大小。一个排序关键字可以按字母顺序列出结果,而另一个排序关键字却将“Jones”放在列表的最上面。

     

    Figure 13 - Property Editor

    此外,在BIRT2.2中,当使用高亮时,报表开发者可以指定样式而不必手动地去设置样式属性。

     

    Figure 14 - Style Highlighting

    大纲 

    大纲视图展示了报表设计的图形化继承体系,同时说明了报表元素与容器的关系。我们可以直接在大纲视图中选择报表元素,当报表设计非常复杂时,这个功能非常有用。此外,在BIRT2.2中,大纲视图可用来导入或者链接外部样式,也可用来查看实现了脚本事件处理器的报表元素。

     

    Figure 15 - Outline View

    导入一个样式表会将该样式表的值复制到报表XML中。使用一个外部样式表允许你链接到BIRT资源文件夹中的样式表。

    更多特性

    BIRT2.2还提供了两个新视图。一个视图显示example报表,另一个视图显示example图表并且提供了Java代码以产生图表。当在Java应用中使用图表引擎时会使用到该视图。

     

    Figure 16 - Example Views

    Eclipse BIRT Web查看器

    一旦报表开发完成了,我们就可以使用BIRT的example Web查看器部署它们。在BIRT2.2中该查看器已经得到了改进,它是一个基于AJAX的J2EE应用,说明了如何使用BIRT引擎来产生和渲染报表内容。

    Web查看器概览 

    Web查看器可用来产生和渲染报表,同时也支持更多的交互性特征,例如内容表格,以多种格式导出报表内容,客户端和服务器端打印以及报表分页。利用查看器导航和工具栏使得这些特征成为可能。下图展示了使用查看器的一个示例。

     

    Figure 17 - Example Web Viewer

     

    Toolbar

    查看器的工具栏有很多图标,他们可以完成内容表格的显示,重新运行报表,导出数据,以多种格式导出报表以及客户端和服务器端打印等任务。一个内容表格是基于报表设计而自动产生的。通过修改报表的分组片段可以定制内容表格。要从example查看器中访问内容表格,请选择该图标

     

    Figure 18 - Example Table of Contents


    工具栏也提供了一个图标来重新运行现存的报表。当用户想要修改用于产生报表的参数集时,这将十分有用。要访问该特性,请选择该图标  

    Figure 19 - Example report parameter dialog containing cascaded parameter

    一个改进的数据导出对话框在BIRT2.2中首次出现。可以通过图标激活该对话框。

     

    Figure 20 - Example Export Data Dialog

    结果集被显示在一个下拉列表中,该下拉列表包含了报表中所有数据绑定控件。这些结果集并不是BIRT的数据集,但却包含了数据容器中绑定的列,而该数据容器中的数据则来自于一个数据集。这些可用的列显示在左边的列表框中,而对话框控制着这些列的导出。数据导出分隔符也已经得到了改进以支持更多的分隔符,例如制表符,分号,冒号,垂直线。此外,数据可以用用户指定的编码导出。

    查看器同样支持以多种格式导出报表。利用导出报表对话框就可以完成报表的导出,我们可以通过选择图标来访问该对话框。

     

    Figure 21 - Example Export Report Dialog

    该对话框允许报表用户将报表导出为Word,PowerPoint,PDF,PostScript和XLS 格式。此外,用户可以选择导出所有页面或者指定范围的页面。

    BIRT中的客户端打印是在example查看器中完成的,这是通过用户选择图标将报表转换为PDF格式实现的。用户可以利用标准的PDF功能打印或者保存报表。

     

    Figure 22 - Client Print Example

    BIRT2.2的example查看器也提供了服务器端打印功能。该特性可以通过在web.xml中做如下设置而禁用。

    <context-param>  <param-name>BIRT_VIEWER_PRINT_SERVERSIDE</param-name>  <param-value>OFF</param-value></context-param>可以通过选择图标来访问服务器端打印功能。
     

     

    Figure 23 - Example Server Side Print Dialog

    该对话框将列出可用的服务器端打印机以及影响打印结果的各种设置

     

    Viewer Navigation Bar

    当显示一个多页的报表时我们将使用查看器导航条。分页是由报表元素和分组的分页符属性来决定的。这些属性就像使用前后分页符或者分页符间隔那样简单,而分页符间隔则指定了将一个分页符插入到产生的HTML中之前一个容器元素要处理多少行。当通过Servlet映射来使用查看器时,其默认行为是加载首页且使得导航条控件可用。导航条包含了可以向前向后或者直接定位页面的控件。

    Web查看器部署向导 

    利用Web Tools Platform项目(WTP)的一部分,BIRT2.2现在可以支持Web项目。该项目类型会将example查看器自动部署到你所选择的应用服务器中。此外,新的BIRT标签库也会被部署进去。通过新建项目,在Business Intelligence and Reporting Tools类别下面选择Web项目,我们可以使用该项目类型。

     

    Figure 24 - Web Project

    Web查看器标签库

    现在Web查看器包含了一个标签库,该标签库可被用来定制查看器的行为。我们可以通过两种方式部署该标签库,其一是按照通常方式部署查看器;其二是利用BIRT的Web项目部署向导。此外,如果你想将BIRT部署在一个上下文中,并且将标签库放置在一个单独的上下文中,你可以通过复制birt.tld到你的WEB-INF/tlds目录下并且从查看器库目录中复制coreapi.jar,modelapi.jar,viewerservlets.jar和com.ibm.icu_3.6.1v20070417.jar到目录:新上下文/web-inf/lib下来实现。将下面的代码添加到你的web.xml文件中:

    <jsp-config>  <taglib>   <taglib-uri>/birt.tld</taglib-uri>   <taglib-location>/WEB-INF/tlds/birt.tld</taglib-location>  </taglib></jsp-config>在这种方式下,报表将通过BIRT查看器被引用,而不是新的上下文。

    查看器标签库包含5个标签:param,paramDef,parameterPage,report和viewer。每个标签都有多个属性来控制查看器的行为。

     

    Figure 25 - BIRT Tag Library

    结论 

    这篇文章介绍了BIRT2.2的一些新特性。请访问BIRT的网站和BIRT 新闻组 来了解更多信息。

    查看英文原文:An Introduction to the Eclipse Business Intelligence and Reporting Tools


    --------------------------------------------------------------------------------


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tiger119/archive/2009/11/22/4850938.aspx

    展开全文
  • 3、第三方,功能强大bird,润乾,数巨报表,水晶报表(.net)(收费) 4、js+flash占的市场比例大:amchart,highchart 3、amChart+Flash 动画实现图形报表 1、amChart实现图形报表,早期使用的是xml作为数据来源,...
  • 【Github】GitHub中文排行榜 JAVA

    万次阅读 多人点赞 2019-12-15 12:47:13
    后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。 26.1k Java 12/06 4 proxyee-down-org/proxyee-down http下载工具,...
  • 可视化分析工具Qlik进阶

    千次阅读 2016-03-07 13:47:24
    不再是商业智能BI的Congons和水晶报表用图表透视数据,不再是Flash交互增强的MSTR用图表体验数据,今天的Tableau和Qlik可视化分析技术是用可视化解读和操作数据。Qlik是一个架构灵活,高度开放的系统,下面通过三个...
  • 首先明确我们的需求,所需得到的页面展示如图: 1.首先新建模板,模板如下: ...然后增加模板数据集,新增文件文件数据集 ...文件类型选择xml,url为自己后台请求地址,点击确认后,会得到一个模板数据集,将左侧...
  • Atiit 常见功能 常用...一、导出excel jquery.table2excel 二、Form表单验证,使用h5验证属性 验证发生在form提交事件,而不是按钮点击事件 三、Ajax fetch ,jq 四、跨域 CORS Apache 反向代理设置 document...
  • 内容提要:(Kea Bird)高山鹦鹉 1. 什么是数据科学家?  数据科学家是指采用科学方法,运用数据挖掘工具寻找新的数据洞察力的工程师。  一般集技术专家和数据分析师的角色于一身。   2. 这本书讲了什么? ...
  • 比较全面的财务知识包括 会计循环 资金与应收项目 存货 投资 固定资产与无形资产 负债 所有者权益 成本、费用 收入、利润 会计报告 报表分析等     1. 会计记账法 会计记账方法按登记经济业务方式的...
  • 通常一些商业软件的报表转pdf基本不可能用到插件、sdk或者itextsharp,最常用的可能就是虚拟打印机了。虚拟打印机驱动是支持Postscript输出的,adobe和惠普登厂商都有提供下载。可以利用GhostScript把ps文件转成pdf...
  • vc++ 开发实例源码包

    2014-12-16 11:25:17
    Excel文件的导入和导出操作 如题。主要的实现在CMyExcel类中。 expclass_src dll库的演示。 fge.1.1.alpha.sdk 精灵系统,一套MFC渲染引擎,含2D/3D等渲染,效果看源码,IFEngine是整个引擎接口,IFSystem是硬件...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有...
  • vc++ 应用源码包_5

    热门讨论 2012-09-15 14:45:16
    FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有...
  • vc++ 应用源码包_4

    热门讨论 2012-09-15 14:38:35
    FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有...
  • vc++ 应用源码包_3

    热门讨论 2012-09-15 14:33:15
    FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有...
  • Java开源框架集

    2008-05-27 22:19:00
    JFreeChart 【Java开源 报表制作】 JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。 Eclipse ...
  • 为什么我要用 Node.js

    2016-03-09 13:05:37
    实时网络的解决方案可以很轻松的实现证券交易软件——用于跟踪股票的价格,执行计算、做技术分析,同时生成报表。 使用一个实时的的基于网页的解决方案,将会允许操盘手轻松的切换工作软件以及工作地点。相信...
  • Java开源 J2EE框架

    千次阅读 2013-03-26 21:12:59
    JFreeChart 【Java开源 报表制作】 JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。 Eclipse...
  • 乐学习知选择--我的J2EE技术历程

    千次阅读 2014-03-30 19:39:59
    图表: 一些常见的图表,hightscharts为例子的js图表,eclipse主推的BiRD,HTML5的开源图表框架ichartsjs;图表的布局,拖拽式自定义开发。 报表: 复杂的表头,复杂的嵌套 拐角线  多维度的,分组 上钻 下钻 ...
  • Java开源框架集[转载]

    2009-07-27 14:09:00
    JFreeChart 【Java开源 报表制作】 JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。 Eclipse ...
  • GridView 72般绝技

    千次阅读 2007-05-07 09:01:00
    第四讲 GridView 72般绝技作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 时间:2007.3.24-26为了写本文,又搭工又搭料,累的2天2宿没睡觉,这篇文章实在是耗费我太多的心血,版权永远属于CSDN社区的清清...
  • 【Linux入门学习之】Ubuntu常用软件

    千次阅读 2013-07-31 11:42:01
    thunderbird 官网 像 firefox 一样,从 mozilla 分离出来的邮件客户端 安装 evolution 官网 GNOME 默认的邮件客户端。支持 pop3,imap4,smtp 等协议 安装 Sylpheed ...
  • 实时网络的解决方案可以很轻松的实现证券交易软件——用于跟踪股票的价格,执行计算、做技术分析,同时生成报表。 使用一个实时的的基于网页的解决方案,将会允许操盘手轻松的切换工作软件以及工作地点。相信不久...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 185
精华内容 74
关键字:

birt导出报表