隨筆 - 59, 文章 - 4, 評論 - 184, 引用 - 7
          數據加載中……

          [BIRT]-印象

          BIRT作為Eclipse的BI和Report工具,由業界領先的公司Actuate公司開發,總體印象來說,在java報表方面已經很強了,當然比起一些商業工具還是有差距的,最近在一個BOSS系統上看到的報表so強,據說那工具70W一套,比起Actuate公司的商用BIRT貴了不知道多少倍,不過感覺還是滿不錯的。
          java在報表方面要想達到PB那樣簡單易用還是比較難,對于BIRT來說,首先是高級查詢報表的實現,必須依靠ScriptedDataSource和ScriptedDataSet,而BIRT在這個事情上則只起到了一個界面生成的工具的作用,為了生成Excel的報表,則必須自己制作一個report engine嵌入到BIRT的framework中去,另外讓我不解的一個問題是BIRT竟然將插入到報表中的圖片以二進制源文件的形式存儲在XML格式的.rptdesign文件中,而web報表的參數傳遞全部采用http的get方式,why not post??
          總之在BIRT中制作初級報表以及固定查詢條件組合的報表還是比較方便的,幾乎都是自動生成了,還算比較合用,雖然有時候會有點Bug,而且速度也不快。但是在高級條件組合查詢方面還稍顯不足,只有自己寫數據庫訪問類來解決這個問題,不過有這樣的開源工具用,也算是很幸福了^_^

          posted @ 2005-08-22 23:31 fisher 閱讀(1740) | 評論 (2)編輯 收藏

          [BIRT]-使用Java對象自定義數據源和數據集

          l         使用DataSet的‘open’方法來執行初始化任務:右擊DataSet選擇‘編輯代碼’,然后在其中選擇‘open’方法,這里初始化一個java對象來完成數據訪問功能

          l         Open方法

          a)         script中引用的包含java對象的class文件的jar文件,必須包含在<ECLIPSE_INSTALL>\plugins\org.eclipse.birt.report.viewer\birt\WEB-INF\lib.目錄下

          b)        引入一個packageimportPackage(Packages.com.yourCompany.yourApplication); 引入通常在open方法的第一行。

          c)        創建一個java對象的實例:var myList = MyListFactory.getList();

          d)        java對象中獲取數據的典型方式是從該對象中獲得一個包含數據的Iterator
          var iterator = myList.getIterator();

          l         Fatch方法(fatch方法從Open中創建的java實例中獲得數據,并賦值給行)

          a)         Fatch方法的第一步是判斷Iterator中是否有數據:
          if(iterator.hasNext() == false ){
            return null;
          }

          b)        然后是從iterator中得到一個行對象node以便得到該行中每列的數據:
          var node = iterator.next( );
          row[1] = node.getFirstCol( );
          row[2] = node.getSecondCol( );
          row[3] = node.getThirdCol( );

          c)        最后,是返回truereturn true;

          l         Close方法:

          a)         最后,在Close方法中清理所有創建的對象:
          myList = null;
          iterator = null;
          node = null;

          posted @ 2005-08-22 23:20 fisher 閱讀(3431) | 評論 (2)編輯 收藏

          [BIRT]-創建一個report engine

          l         每個應用只需創建一個ReportEngine的實例

          l         ReportEngine的構造函數要傳入一個EngineConfig作為參數,如果參數為null,則一個默認值的ReportEngine被創建。

          l         退出時,應用應該調用destroy()來卸載外掛以及刪除臨時文件

          l         使用report engine有以下幾個主要步驟:

          a)         創建一個EngineConfig來設置report engine的選項

          b)        創建一個ReportEngine類的實例

          c)        你可以用這個對象去進行多種任務

          d)        使用ReportEngine的一個openReport( )方法來打開一個report design文件

          e)         使用IgetParameterDefinitionTask來獲得report參數的信息

          f)         使用IrunAndRenderReportTask運行并轉換一個report到一個輸出格式

          g)        調用你的report enginedestroy( )方法

          l         EngineConfigThe EngineConfig class wraps configuration settings for a report engine. It allows a developer to specify where to look for engine plug-ins and data drivers, and to add an application-wide scriptable object.

          l         IReportRunnable:為了使用report engine,你必須首先調用openDesign( )方法來打開report設計文件,這些方法返回一個IreportRunnable實例來代表report設計文件的engine’s view。使用IreportRunnable做以下任務:

          a)         Get parameter data

          b)        Get report title

          c)        Get report author.

          d)        Get images embedded within the report design

          e)         Run the report

          l         IEngineTask:該類提供一個管理腳本上下文以及report locales的框架,它從ReportEngine的工廠方法中創建,需要參數:IreportRunnable對象、a scripting context, and a locale

          posted @ 2005-08-22 23:19 fisher 閱讀(944) | 評論 (0)編輯 收藏

          [BIRT]-理解report engine API

          l         應用開發者只需要了解公用的API,這些API包含在以下的幾個包內:

          a)         org.eclipse.birt.report.model.api:這個包內包含了93class,兩個接口和一個exception,這個包是為那些想要定制report designer的開發者使用的

          b)        org.eclipse.birt.report.engine.api這個包包含了一個類,17個接口和四個exception,是給那些想要定制一個report generator的開發者使用的

          c)        org.eclipse.birt.chart hierarchy:這個包是給想定制一個chart generator的開發者使用的

          l         BIRT report engine在幾個環境提供了報表生成和翻譯服務,包含以下組件:

          a)         Stand-alone engine:這個engine可以讓開發者使用一個命令行程序來從一個report design文件(.rptdesign)中得到HtmlPDF格式的report

          b)        BIRT report viewerBIRT Report Designer使用它來預覽report。這個程序是一個web程序,它運行在一個Eclipse內嵌的Tomcat中,這個Tomcat中有一個內嵌的report engine

          c)        Custom report designer with an embedded engine:一個定制的桌面報表應用集成BIRT report engine來預覽報表

          d)        Web application that embeds the engine:一個類似于BIRT report viewerWeb程序,可以產生基于web的報表。

          l         Report engine的核心engine運行并實施報表,而將其他的環境相關的任務留給運行該引擎的應用程序,比如:URL construction, image storage, and design file caching

          l         BIRT report engineAPI可以做以下幾件事情:

          a)         發現一組為報表定義的參數

          b)        獲得參數的默認值

          c)        運行報表產生HTMLPDF格式的輸出

          d)        為報表產生圖片或chart

          posted @ 2005-08-22 23:18 fisher 閱讀(3197) | 評論 (4)編輯 收藏

          [BIRT]-使用:過濾數據集

          l         你可以使用以下幾種技術來過濾數據集:

          a)         在查詢時指定過濾,以便在數據庫或其他數據源中過濾數據,要盡量使用這種方式來過濾數據,可以通過兩種方式來指定SQL SELECT聲明:

          1.         在設計期間的SQL Select中以WHERE的方式指定,并在數據庫中執行。

          2.         創建report參數來讓用戶指定,在SQL SELECTWHERE處使用參數來指定條件,使用這種方式,WHERE的參數在運行期指定,并在數據庫中執行。

          b)        BIRT Report Designer中過濾數據,使用javascript或者數據不是在一個數據庫中從而不能執行SQL語句的情況下,可以用以下兩種方式來執行這種過濾:

          1.         編輯數據集來指定filter,使用這種技術,查詢獲得你的SELECT活動的全部數據,然后BIRT Report Designer過濾數據以便獲得符合你指定的條件的數據,由于數據集只能有一個,所以這種技術只能使用一種table或者所有的report都顯示相同的行

          2.         編輯report element filter properties來指定要顯示的行,使用這種技術,BIRT Report Designer處理這個過程,如果有多個tablelistchart使用同一個數據集,而且要顯示不同的行,則就需要使用這種技術

          posted @ 2005-08-22 23:17 fisher 閱讀(1439) | 評論 (0)編輯 收藏

          僅列出標題
          共12頁: First 上一頁 4 5 6 7 8 9 10 11 12 下一頁 
          主站蜘蛛池模板: 清远市| 恭城| 白水县| 买车| 威海市| 周口市| 通山县| 罗定市| 日照市| 牡丹江市| 镇赉县| 家居| 韶山市| 科技| 囊谦县| 宜春市| 盘锦市| 天等县| 都兰县| 高青县| 伊宁市| 沽源县| 武义县| 永顺县| 旬邑县| 商洛市| 札达县| 科尔| 临泽县| 民乐县| 大渡口区| 虹口区| 运城市| 玉屏| 泾源县| 阳西县| 调兵山市| 吉木萨尔县| 砚山县| 黄陵县| 砀山县|