`
wing123
  • 浏览: 788964 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

BIRT报表

阅读更多

1.概述

网站: http://www.eclipse.org/birt/phoenix/

BIRT报表 拥有和Dreamweaver一般的操作界面,可以像画table一样画报表,生成图片,导出Excel,html分页样样齐全,样式和script设置简单,貌似还有OLAP导航功能,JasperReport注定要被打入冷宫了。

特别留意,SpringSide里仿照Spring集成JasperReport的做法,集成了Birt View。

另外特别Demo了把查询语句统一写在SaleReportManager里,对查询语句综合处理与重用,而不是默认的在每个模版文件里面写SQL。

学习资料:

     1.Birt的IBM DW的中文教程:http://www-128.ibm.com/developerworks/cn/opensource/os-ecl-birt/
     2.最权威、详细的莫过于birt 官方文档 
     3.难得的比较全面的 BIRT 中文指南
     4.Flash Demo

2.部署BIRT2.1

2.1. 拷贝文件

 将/plugins, /configuration两个目录复制到webapp 根目录, 将lib复制到webapp/WEB-INF/lib

2.2. 瘦身

     Birt实在太过庞大,如果将以上三个目录全拷的话几十M.因此,可以参考SS里对/lib/birt 和 webapp/plugins目录反复试验后的精简。
     另外,/lib和/plugins有好多jar是重复的,只要在编译时把jar 从一个目录copy过去就行。又要注意两个目录里相同的jar的命名并不相同,而/plugins里面的文件名很严格,可参考build.xml里的这段复制命令

        <copy file="lib/birt/com.ibm.icu-3.4.4.1.jar" tofile="${web.dir}/plugins/com.ibm.icu_3.4.4.1.jar"/>
        <copy file="lib/birt/js-2.1.jar" tofile="${web.dir}/plugins/org.mozilla.rhino/lib/js.jar"/>
        <copy file="lib/birt/chartengineapi-2.1.jar" tofile="${web.dir}/plugins/org.eclipse.birt.chart.engine_2.1.0.N20060628-1351.jar"/>
        <copy todir="${web.dir}/plugins">
            <fileset dir="lib/birt">
                <include name="org.eclipse.emf.*"/>
              </fileset>
        </copy>

3.将spring与birt集成在一起

3.1 why not 说明

      3.1.1 为什么没有使用 birt report viewer

BIRT Report Viewer 貌似做得很周到,提供如浏览,打印,export to CSV ,过滤参数的传入等一系列的快速操作.

然而细心思考过,这个viewer还是存在不少问题:

如不适用的报表传入参数方式(无输入验证,无日期控件);代码复杂,可扩展性差......

发现不少功能形同虚设,所以决心抛弃.

     3.1.2 为什么不在.rptdesign里写sql

往往实际项目的业务总是复杂的,不希望将复杂的逻辑通过几个简单的参数传入拼凑sql来实现,再说这样调试sql也是一件麻烦的事情,也不利于SQL管理

所以我们提倡 将查询的商业逻辑放回java Manager类,然后designer负责设计数据如何排列。这样子更适和实际项目.

3.2 自己实现的BirtReportsView的原理

    实现Spring MVC的View,关键是重载它的protected void renderMergedOutputModel(Map model, HttpServletRequest request, HttpServletResponse response) 函数

   3.2.1 创建 EngineConfig 与 ReportEngine  实例
  public class BirtReportsView extends AbstractUrlBasedView {


  
   private String engineHome;
   private ReportEngine engine;
    
   public BirtReportsView() {
        engineHome = System.getProperty("bookstore.root");  //engine home
        EngineConfig birtConfig = new EngineConfig();
        birtConfig.setEngineHome(engineHome);
        engine = new ReportEngine(birtConfig); 
    }




    }
    3.2.2  设定报表文件
    public void openReportDesign(String filePath) throws IOException, EngineException {
        File reportFilte = new File(engineHome + "/" + filePath);
        IReportRunnable design = engine.openReportDesign(reportFilte.getAbsolutePath());
        task = engine.createRunAndRenderTask(design);
       }
     3.2.3  配置 htmlrendercontext
 private String scriptableJOName = "dsFactory"; //dsFactory 自由定义,主要在rptdesign中调用
private String imageDirectory = "/report/images";
private String baseImageUrl = "images";

 
 private void run(OutputStream outputStream) throws EngineException {

        HTMLRenderContext renderContext =  new         HTMLRenderContext();   


        //chart 生成图片目录
        renderContext.setImageDirectory(this.engineHome + "/" + imageDirectory);
    

        //web页面浏览 base url
        renderContext.setBaseImageURL(baseImageUrl);
        HashMap contextMap = new HashMap();
        contextMap.put(EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT, renderContext);

  
        task.setAppContext(contextMap);




        BirtDataSourceObject birtDataSourceObject = new BirtDataSourceObject();
        HTMLRenderOption options = new HTMLRenderOption();
        birtDataSourceObject.setResultList(resultList);
        options.setOutputStream(outputStream);
        task.setRenderOption(options);
 
        //增加api级别的java对象,以方便报表中调用获取报表数据
        task.addScriptableJavaObject (scriptableJOName, birtDataSourceObject);
        task.run();
 }

相关文章:
1.BIRT and POJOs as datasources example
2.详细的 Report Engine API 请见[官方 ]

3.3 Birt View的使用

见SaleReprontController.

public ModelAndView view(HttpServletRequest request, HttpServletResponse response) throws Exception {
        String status = request.getParameter("status");
        String beginDate = request.getParameter("beginDate");
        String endDate = request.getParameter("endDate");
        List bookList = saleReportManager.findBooksByReportParam(status,
                DateUtil.parse(beginDate, "yyyy-M-d"), DateUtil.parse(endDate, "yyyy-M-d"));
       BirtReportView view = new BirtReportView();
        view.openReportDesign("/report/sale_report.rptdesign");
        view.putModel(bookList);
        return new ModelAndView(view);
    }
分享到:
评论
3 楼 mengy163163 2014-09-09  
您好,有个问题想请教一下:"birt生成Excel缺失一部分数据",将运行在tomcat容器中的birt报表剥离出来,使用报表引擎来生成Excel报表,查询数据返回的结果集是正确的,可是每次写进EXCEL的时候总是缺失中间一部分数据,您知道是怎么回事吗?
2 楼 bird_birt 2013-01-15  
打算近期出版一本全面介绍BIRT使用的书籍,能够帮助大家全面了解BIRT的方方面面,用丰富的案例和源码,例子,诠释这个报表设计工具,展现工具,开源框架,扩展框架的种种优点特性。 初稿内容如下,书写正在进行中~
欢迎大家光临我的主页:http://blog.csdn.net/birtbird~
BIRT的世界-BIRT技术漫谈
目录
第一章 BIRT简介 3

1.1 BIRT初识 3
1.2 BIRT安装 6
第二章 BIRT设计器概述及本地化支持 10
2.1 BIRT设计器概述 10
2.2 BIRT本地化之汉化 21
2.3 BIRT Runtime配置详解 25
2.4一个简单的BIRT的报表案例 36
第三章 数据源的配置 47

3.1 JDBC数据源 48
3.2在BIRT中使用存储过程 55
3.3 XML数据源 62
3.4脚本化数据源 64
3.5 WebServices数据源 71
3.6 文本数据源 80
3.7 平面文件数据源 81
3.8 Excel数据源 97
3.9 profile数据源 99
3.10在BIRT中访问Hibernate POJO 105
3.11 birt script数据源pojo配置 115
3.12 数据源的属性绑定 124
第四章 数据集和参数的建立 127
4.1 数据集的设置 127
4.2 参数的设置 141
第五章 文本类报表 155
5.1 基本的文本报表 155
5.2 交互式文本报表 160
5.3 文本运用导航栏数据 174
第六章 普通网格报表 178
6.1 属性,布局 178
6.2 数据项的过滤 192
6.3 数据项的排序 195
6.4 数据项的突出显示和可视性 199
6.5 钻取,书签和目录 201
6.6 数据项上的鼠标事件 212
6.7 外部脚本的使用,样式,模板,库,与资源 226
第七章 分组报表 232
7.1 分组的建立,插入,删除 232
7.2 分组的排序与过滤 237
7.3 分组的间隔,聚合,可视性,映射,突出显示,书签 239
第八章 交叉报表 252
8.1 创建交叉报表和统计 252
8.2 多维交叉报表和维度过滤 265
8.3 表头的设计 269
第九章 嵌套报表以及参数的传递 273
9.1 表内的嵌套 273
9.2 表外的嵌套 274
9.3 参数的传递 277
第十章 图表 279
10.1 图表的选择数据 279
10.2 图表的格式 287
10.3 图表的交互 293
10.4 图表的动态设置与异步刷新 310
第十一章 数据绑定与脚本,事件机制详解 336
11.1 事件机制详解 336
11.2 javascript事件绑定 357
11.3 Java事件绑定 368
11.4 表达式生成器 390
第十二章 报表的部署与配置
12.1 报表的工作模式,环境参数配置 , 报表jsp标签用法详解
12.2 文档的导出和打印设置
第十三章 报表引擎API及报表API
13.1 报表引擎详解,API结构
13.2 使用BIRT API创建List
13.3 使用BIRT API创建Grid
13.4 使用BIRT API创建Table
13.5 使用BIRT API创建Chart
13.6 使用BIRT API打开显示报表
第十四章 高级特性-报表的扩展
14.1报表开放式接口
14.2数据源的扩展
14.3数据项的扩展
14.4 数据展示的扩展
第十五章 高级特性-源代码解析
15.1 数据访问接口源码解析
15.2 报表设计引擎源码解析
15.3 报表引擎源码解析
15.4 报表展示层源码解析
1 楼 bird_birt 2013-01-15  
<div style="font-size: 14px;" class="iteye-blog-content-contain">
<p>打算近期出版一本全面介绍<span style="border-bottom: #fa891b 1px solid;"><span style="border-bottom: #fa891b 1px solid;">BIRT</span></span>使用的书籍,能够<span style="border-bottom: #fa891b 1px solid;">帮助</span>大家全面了解BIRT的方方面面,用丰富的案例和源码,例子,诠释这个<span style="border-bottom: #fa891b 1px solid;">报表</span>设计工具,展现工具,开源框架,扩展框架的种种优点特性。 初稿内容如下,书写正在进行中~<br>欢迎大家光临我的主页:<a target="_blank" href="http://blog.csdn.net/birtbird"><span style="color: #0070af;"><span style="text-decoration: underline;">http://blog.csdn.net/birtbird</span></span></a><span>~</span><br><strong><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="font-size: large;"><span style="color: #ff0000;"><span style="text-decoration: underline;"><span style="font-size: large;">BIRT的世界-BIRT技术漫谈</span></span></span></span></a><br><span style="color: #000000;">目录</span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479542"><span style="color: #0070af;"><span style="text-decoration: underline;">第一章 BIRT简介 3</span></span></a></span></strong></p>
<p><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479542"><span style="color: #0070af;"><span style="text-decoration: underline;">1.1 BIRT初识 3</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479542"><span style="color: #0070af;"><span style="text-decoration: underline;">1.2 BIRT安装 6</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479629"><span style="color: #0070af;"><span style="text-decoration: underline;">第二章 BIRT设计器概述及本地化支持 10</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479629"><span style="color: #0070af;"><span style="text-decoration: underline;">2.1 BIRT设计器概述 10</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479629"><span style="color: #0070af;"><span style="text-decoration: underline;">2.2 BIRT本地化之汉化 21</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479735"><span style="color: #0070af;"><span style="text-decoration: underline;">2.3 BIRT Runtime配置详解 25</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479735"><span style="color: #0070af;"><span style="text-decoration: underline;">2.4一个简单的BIRT的报表案例 36</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479824"><span style="color: #0070af;"><span style="text-decoration: underline;">第三章 数据源的配置 47</span></span></a></span></strong></p>
<div class="f14 mb10">
<strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479824"><span style="color: #0070af;"><span style="text-decoration: underline;">3.1 JDBC数据源 48</span></span></a></span></strong><strong><span style="color: #000000;"><br><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479824"><span style="color: #0070af;"><span style="text-decoration: underline;">3.2在BIRT中使用存储过程 55</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479824"><span style="color: #0070af;"><span style="text-decoration: underline;">3.3 XML数据源 62</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479824"><span style="color: #0070af;"><span style="text-decoration: underline;">3.4脚本化数据源 64</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479985"><span style="color: #0070af;"><span style="text-decoration: underline;">3.5 WebServices数据源 71</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479985"><span style="color: #0070af;"><span style="text-decoration: underline;">3.6 文本数据源 80</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8479985"><span style="color: #0070af;"><span style="text-decoration: underline;">3.7 平面文件数据源 81</span></span></a><br></span></strong><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8480158"><span style="color: #0070af;"><span style="text-decoration: underline;">3.8 Excel数据源 97</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8480158"><span style="color: #0070af;"><span style="text-decoration: underline;">3.9 profile数据源 99</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8480158"><span style="color: #0070af;"><span style="text-decoration: underline;">3.10在BIRT中访问Hibernate POJO 105</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8480158"><span style="color: #0070af;"><span style="text-decoration: underline;">3.11 birt script数据源pojo配置 115</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8480158"><span style="color: #0070af;"><span style="text-decoration: underline;">3.12 数据源的属性绑定 124</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8480547"><span style="color: #0070af;"><span style="text-decoration: underline;">第四章 数据集和参数的建立 127</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8480547"><span style="color: #0070af;"><span style="text-decoration: underline;">4.1 数据集的设置 127</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8480933"><span style="color: #0070af;"><span style="text-decoration: underline;">4.2 参数的设置 141</span></span></a><br></span></strong><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481004"><span style="color: #0070af;"><span style="text-decoration: underline;">第五章 文本类报表 155</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481004"><span style="color: #0070af;"><span style="text-decoration: underline;">5.1 基本的文本报表 155</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481004"><span style="color: #0070af;"><span style="text-decoration: underline;">5.2 交互式文本报表 160</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481004"><span style="color: #0070af;"><span style="text-decoration: underline;">5.3 文本运用导航栏数据 174</span></span></a></span></strong><span> <br></span><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481280"><span style="color: #0070af;"><span style="text-decoration: underline;">第六章 普通网格报表 178</span></span></a><br></span></strong><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481280"><span style="color: #0070af;"><span style="text-decoration: underline;">6.1 属性,布局 178</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481426"><span style="color: #0070af;"><span style="text-decoration: underline;">6.2 数据项的过滤 192</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481426"><span style="color: #0070af;"><span style="text-decoration: underline;">6.3 数据项的排序 195</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481426"><span style="color: #0070af;"><span style="text-decoration: underline;">6.4 数据项的突出显示和可视性 199</span></span></a><br></span></strong><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481426"><span style="color: #0070af;"><span style="text-decoration: underline;">6.5 钻取,书签和目录 201</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481764"><span style="color: #0070af;"><span style="text-decoration: underline;">6.6 数据项上的鼠标事件 212</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481764"><span style="color: #0070af;"><span style="text-decoration: underline;">6.7 外部脚本的使用,样式,模板,库,与资源 226</span></span></a><br></span></strong><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481969"><span style="color: #0070af;"><span style="text-decoration: underline;">第七章 分组报表 232</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481969"><span style="color: #0070af;"><span style="text-decoration: underline;">7.1 分组的建立,插入,删除 232</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481969"><span style="color: #0070af;"><span style="text-decoration: underline;">7.2 分组的排序与过滤 237</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8481969"><span style="color: #0070af;"><span style="text-decoration: underline;">7.3 分组的间隔,聚合,可视性,映射,突出显示,书签 239</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8482115"><span style="color: #0070af;"><span style="text-decoration: underline;">第八章 交叉报表 252</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8482115"><span style="color: #0070af;"><span style="text-decoration: underline;">8.1 创建交叉报表和统计 252</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8482115"><span style="color: #0070af;"><span style="text-decoration: underline;">8.2 多维交叉报表和维度过滤 265</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8482115"><span style="color: #0070af;"><span style="text-decoration: underline;">8.3 表头的设计 269</span></span></a><br></span></strong><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8482257"><span style="color: #0070af;"><span style="text-decoration: underline;">第九章 嵌套报表以及参数的传递 273</span></span></a><strong><span style="color: #000000;"><br><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8482257"><span style="color: #0070af;"><span style="text-decoration: underline;">9.1 表内的嵌套 273</span></span></a></span></strong><span> <br></span><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8482257"><span style="color: #0070af;"><span style="text-decoration: underline;">9.2 表外的嵌套 274</span></span></a></span></strong><span> </span><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8482257"><span style="color: #0070af;"><span style="text-decoration: underline;">9.3 参数的传递 277</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8483877"><span style="color: #0070af;"><span style="text-decoration: underline;">第十章 图表 279</span></span></a> </span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8483877"><span style="color: #0070af;"><span style="text-decoration: underline;">10.1 图表的选择数据 279</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8483877"><span style="color: #0070af;"><span style="text-decoration: underline;">10.2 图表的格式 287</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8483877"><span style="color: #0070af;"><span style="text-decoration: underline;">10.3 图表的交互 293</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8483921"><span style="color: #0070af;"><span style="text-decoration: underline;">10.4 图表的动态设置与异步刷新 310</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8484132"><span style="color: #0070af;"><span style="text-decoration: underline;">第十一章 数据绑定与脚本,事件机制详解 336</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8484132"><span style="color: #0070af;"><span style="text-decoration: underline;">11.1 事件机制详解 336</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8484132"><span style="color: #0070af;"><span style="text-decoration: underline;">11.2 javascript事件绑定 357</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8485066"><span style="color: #0070af;"><span style="text-decoration: underline;">11.3 Java事件绑定 368</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8485066"><span style="color: #0070af;"><span style="text-decoration: underline;">11.4 表达式生成器 390</span></span></a><br></span></strong><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8488669"><span style="color: #0070af;"><span style="text-decoration: underline;">第十二章 报表的部署与配置</span></span></a></span></strong><br><a target="_blank" href="http://blog.csdn.net/birtbird/article/details/8488669"><span style="text-decoration: underline;"><strong><span style="color: #000000;"><span style="color: #0070af;">12.1 报表的工作模式,</span></span><span style="color: #000000;"><span style="color: #0070af;">环境参数配置</span></span></strong><span><span style="color: #0066cc;"> ,</span></span><strong><span style="color: #000000;"><span style="color: #0070af;"> 报表jsp标签用法详解</span></span></strong></span></a><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="color: #0070af;"><span style="text-decoration: underline;">12.2 文档的导出和打印设置</span></span></a></span></strong><span> </span><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="color: #0070af;"><span style="text-decoration: underline;">第十三章 报表引擎API及报表API</span></span></a></span></strong><span> </span><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="color: #0070af;"><span style="text-decoration: underline;">13.1 报表引擎详解,API结构</span></span></a><br></span></strong><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="color: #0070af;"><span style="text-decoration: underline;">13.2 使用BIRT API创建List</span></span></a><br></span></strong><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="color: #0070af;"><span style="text-decoration: underline;">13.3 使用BIRT API创建Grid</span></span></a> </span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="color: #0070af;"><span style="text-decoration: underline;">13.4 使用BIRT API创建Table</span></span></a></span></strong><span> </span><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="color: #0070af;"><span style="text-decoration: underline;">13.5 使用BIRT API创建Chart</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="color: #0070af;"><span style="text-decoration: underline;">13.6 使用BIRT API打开显示报表</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="color: #0070af;"><span style="text-decoration: underline;">第十四章 高级特性-报表的扩展</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="color: #0070af;"><span style="text-decoration: underline;">14.1报表开放式接口</span></span></a></span><br><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="color: #0070af;"><span style="text-decoration: underline;">14.2数据源的扩展</span></span></a></span></strong><br><strong><span style="color: #000000;"><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="color: #0070af;"><span style="text-decoration: underline;">14.3数据项的扩展</span></span></a></span></strong><br><strong><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="text-decoration: underline;"><span style="color: #0066cc;">14.4 数据展示的扩展</span></span></a><br></strong><strong><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="text-decoration: underline;"><span style="color: #0066cc;">第十五章 高级特性-源代码解析</span></span></a><br></strong><strong><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="text-decoration: underline;"><span style="color: #0066cc;">15.1 数据访问接口源码解析</span></span></a><br></strong><strong><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="text-decoration: underline;"><span style="color: #0066cc;">15.2 报表设计引擎源码解析</span></span></a><br></strong><strong><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="text-decoration: underline;"><span style="color: #0066cc;">15.3 报表引擎源码解析</span></span></a><br></strong><strong><a target="_blank" href="http://blog.csdn.net/birtbird"><span style="text-decoration: underline;"><span style="color: #0066cc;">15.4 报表展示层源码解析</span></span></a></strong></span></strong>
</div>
</div>
    </div>

相关推荐

Global site tag (gtag.js) - Google Analytics