|
在開(kāi)源的世界中,報(bào)表工具是不可缺少的,在這些多如牛毛的開(kāi)源報(bào)表中,以下三個(gè)報(bào)表工具的影響較為深淵 FastReport(網(wǎng)址 http://www. ),是一個(gè)俄國(guó)人開(kāi)發(fā)的報(bào)表系統(tǒng),報(bào)表設(shè)計(jì)器的圖形化用戶界面做得非常精致,她是典型的控件拖放的設(shè)計(jì)模式。報(bào)表分為幾個(gè)大塊(Band),這些塊區(qū)分為頁(yè)眉,表身和頁(yè)腳,其中只有一個(gè)頁(yè)眉和頁(yè)腳,可以有多個(gè)表身。而所有的報(bào)表元素分布在這些塊上面,因此這種報(bào)表的頁(yè)面模型是兩層,對(duì)于復(fù)雜的報(bào)表則可能過(guò)于簡(jiǎn)單。她支持的頁(yè)面元素類型比較多,報(bào)表數(shù)據(jù)源還是普通的基于SQL查詢的二維表格方式。 FastReport提供一個(gè)版本FreeReport,她是FastReport的舊的低級(jí)的版本,但提供所有源代碼,因此很多公司借助她來(lái)進(jìn)行Web報(bào)表的開(kāi)發(fā)。一般的做法為首先使用其提供的報(bào)表設(shè)計(jì)器設(shè)計(jì)報(bào)表,文件保存到Web服務(wù)器,然后后臺(tái)頁(yè)面程序(例如ASP或JSP)查詢數(shù)據(jù)庫(kù)獲得數(shù)據(jù),然后拼湊JavaScript或VBScript等客戶端腳本代碼文本隨著HTML代碼發(fā)送到客戶端,客戶端的IE頁(yè)面嵌入FreeReport控件,而客戶端腳本代碼向該控件填充數(shù)據(jù),然后控制它進(jìn)行打印。這種報(bào)表開(kāi)發(fā)模式非常麻煩,當(dāng)用戶需求經(jīng)常改變,程序員們只有疲于奔命的修改后臺(tái)程序。 這個(gè)報(bào)表是比較早的開(kāi)源報(bào)表,是用delphi編寫的;目前上海的數(shù)巨報(bào)表和深圳明宇的如意報(bào)表就是基于這個(gè)開(kāi)源的報(bào)表包裝,并進(jìn)行商業(yè)上的銷售的。 2、Jasper Report Jasper Report是用java(最新版也支持Groovy)實(shí)現(xiàn)報(bào)表的一系列開(kāi)發(fā)包(事實(shí)上jasperReport.jar包會(huì)依賴于其他幾個(gè)開(kāi)源的java包,詳細(xì)可以在iReport安裝目錄的/lib目錄下找到),最重要的是這一系列工具包大多是開(kāi)源的,所以在同類產(chǎn)品中算是使用比較廣泛。 iReport是基于Jasper Report系列工具包實(shí)現(xiàn)的一個(gè)圖形化報(bào)表編輯工具。它通過(guò)XML來(lái)定義報(bào)表模板,可以實(shí)現(xiàn)多種數(shù)據(jù)源的呈現(xiàn),包括數(shù)據(jù)庫(kù),XML文件,Hibernate,CSV文件等,可以生成PDF,Excel,HTML等報(bào)表格式。 由于是比較早的Java開(kāi)源報(bào)表,可以算是Java開(kāi)源報(bào)表工具的鼻祖了,在Java的業(yè)界影響比較大,應(yīng)用也比較多,也有國(guó)內(nèi)的公司在此基礎(chǔ)上封裝,用作自己的內(nèi)部報(bào)表解決解決方案,例如:清華同方等等很多,在此不一一列舉! 3、Eclipse BIRT BIRT 開(kāi)源報(bào)表軟件是基于 Eclipse 開(kāi)發(fā)平臺(tái)的面向下一代商業(yè)應(yīng)用的大型報(bào)表軟件系統(tǒng)。該項(xiàng)目是由美國(guó) Actuate 軟件公司與清華大學(xué)信息研究院 Web 與軟件技術(shù)研究中心合作開(kāi)發(fā)的。 BIRT 利用 Eclipse 平臺(tái),面向商務(wù)智能 (Business Intelligence) 和報(bào)表空間,其功能集中在從數(shù)據(jù)源提取數(shù)據(jù)、處理數(shù)據(jù)并顯示數(shù)據(jù)。 BIRT 的最初目標(biāo)是使用 Eclipse 提供一個(gè)框架,用以在某組織內(nèi)設(shè)計(jì)、布置和查看報(bào)表,并包含查詢等工具。 BIRT 的報(bào)表有四個(gè)主要部分:數(shù)據(jù) (Data) 、數(shù)據(jù)轉(zhuǎn)換 (Data Transforms) 、業(yè)務(wù)邏輯 (Business Logic) 、展示 (Presentation) 。使用 BIRT ,用戶可以在應(yīng)用中增加多種形式的報(bào)表:列表 (Lists) 、圖表 (Charts) 、交叉表 (Crosstabs) 、文檔 (Letters &Documents) 、組合報(bào)告 (Compound Reports) 。 BIRT 包括下面幾個(gè)工具: Eclipse Report Designer(ERD) 、 Eclipse Report Engine(ERE) 、 Eclipse Charting Engine(ECE) 、 Web Based Report Designer(WRD) 。 由于背后有公司支撐,BIRT發(fā)展很迅速,在JAVA開(kāi)源報(bào)表工具領(lǐng)域大有后來(lái)居上的勢(shì)頭;目前國(guó)內(nèi)普元的EOS報(bào)表、杭州數(shù)新的Java報(bào)表都是基于這個(gè)開(kāi)源的產(chǎn)品改進(jìn)的,當(dāng)然還有很多國(guó)內(nèi)的公司用BIRT作為自己的內(nèi)部報(bào)表解決方案,并不直接對(duì)外銷售,只是打包在自己的項(xiàng)目解決方案中。 |
|
|
來(lái)自: 蒼_翠 > 《我的圖書(shū)館》