BIRT是壹個基於Eclipse的開源報告系統。它主要用於基於Java和J2EE的Web應用程序。BIRT主要由兩部分組成:基於Eclipse的報表設計和可以添加到應用程序服務中的運行時組件。BIRT還提供了壹個圖形報告制作引擎。http://www.eclipse.org/birt/
首先,創建第壹個報表項。
1.1創建項目
選擇文件-& gt;新-& gt;項目。將出現“新建項目”對話框。
打開“商業智能和報告工具”組並選擇“報告項目”。
1.2創建報告
選擇文件-& gt;新-& gt;報告。將出現“新建報告”對話框。
在樹視圖中選擇我們之前創建的項目。
接下來,在文件名字段中輸入:Customers.rptdesign。
單擊下壹步。
選擇分組列表。(分組列表)。
單擊完成。
註意:新建報告對話框顯示了壹些現成的模板。
我的第壹份報告(我的第壹份報告)
空白報告-創建沒有預定義內容的空白報告。
簡單列表-使用數據源中的字段創建列表報告。
分組列表-創建按特定字段分組的列表報告。分組列表不會顯示重復的記錄。分組允許您創建子統計數據。
雙欄列表-創建包含兩個子組的分組報告。
圖表和類別-使用圖表創建分組報告,直觀地顯示每個組的數據。
雙欄圖表和列表-創建包含兩個圖表和列表子組的分組報表。
並排圖表和列表-創建分組報告,其中每個組包含並排的圖表和列表。
信函-數據庫數據被“郵件合並”到文本中的套用信函。字母文本可以使用html的子集來形成。
二、BIRT的發展界面
備忘單:在Eclipse工作區的右側有壹個備忘單視圖(這是默認配置)。“此視圖將指導您如何根據選擇的模板構建報告。
布局編輯器:中心區域是布局編輯器。
調色板:顯示標準報表可視控件,您可以通過拖動將這些控件添加到報表中。
大綱:使用樹視圖顯示報表結構。
navigator):Eclipse將顯示您的項目和項目中的報告文件。
數據資源管理器:BIRT視圖顯示您的數據源(連接)、數據集(查詢)和報表參數。您還可以使用此視圖將數據集字段添加到報表布局中。
屬性編輯器:顯示報表項所需的屬性。它有標簽和組,並以類別的形式組織屬性。
Propertiesview:顯示與報表相關的屬性。此視圖是可選的,我們不會在本指南中使用它。
第三,建立數據源
BIRT報表使用數據源連接到數據庫或其他數據提供程序。BIRT使用數據集從數據提供者檢索數據。您可以將數據源視為連接,將數據集視為查詢。
3.1建立數據源
讓我們構建壹個數據源:
打開數據資源管理器。
選擇數據源節點。
用鼠標右鍵單擊打開彈出菜單。
選擇新數據源。將出現“新建數據源”對話框。
選擇經典模型公司樣本數據庫。
在數據源名稱輸入框中,輸入“樣本”。
單擊下壹步。
單擊完成。
3.2建立數據集
現在我們準備構建和測試我們的數據集。
打開數據資源管理器。
選擇數據集節點。
用鼠標右鍵單擊打開彈出菜單。
選擇新數據集。將出現“新建數據集”對話框。
在數據集名稱輸入框中,輸入“客戶”。
確保數據源下拉框顯示我們之前創建的示例數據源。
確保在數據集類型下拉框中選擇了“SQL選擇查詢”。
單擊完成。
第四,建壹張桌子
我們的客戶列表報告將以“表格”的形式顯示客戶信息:類似於HTML表格,增加了循環顯示報告數據的能力。我們選擇的分組列表模板已經提前為我們構建了壹個“表格”,我們只需要填寫壹些細節即可。在開發報表之前,讓我們先介紹壹下BIRT的報表項目。
BIRT為構建我們的報告提供了各種報告項。報表項出現在調色板視圖中。報告項目包括:
標簽-插入靜態文本。
文本-插入文本塊(純文本或HTML格式)並計算列值。常用於創建標題、信函格式、“郵件合並”等。
動態文本-插入帶有可選CLOB數據表達式的文本塊。支持通過表達式對高級CLOB數據進行操作。
數據-插入數據集列或表達式結果。
圖像-瀏覽器支持的任何圖像。圖像可能嵌入在報表文件中或鏈接到web服務器上的文件。
grid-提供報表項的表格布局,很像HTML表格。
列表-在頁眉、主體和頁腳部分插入數據集行的靈活格式表示。
table-將數據集中的數據顯示為表格。
圖表-顯示業務圖表,如餅圖、折線圖等。
4.1在數據集選擇中將數據拖入表中。單擊預覽測試,或選擇以html格式查看。
4.2在屬性編輯視圖中重置表頭(表列)大小
4.3在屬性編輯視圖中設置背景顏色
4.4在屬性編輯視圖中設置字體
4.5格式化數據和格式化字符串。選擇要格式化的字符串,並切換到屬性編輯器中的字符串格式選項。將“字符串格式”選擇為“自定義”。在格式代碼輸入框中,會出現以下格式:(@ @ @ @)@ @-@ @ @
4.6設置邊界
4.7設置詳細的數據排序
4.8創建樣式、應用樣式和編輯樣式。
4.9創建網格
4.10插入圖片
4.11插入運行日期。
4.12創建文本項
二、birt的簡單應用
1.從主頁中刪除標題“BIRT報表查看器”。
找到定義了標題的BIRT \ web content \ BIRT \ pages \ layout \ framesetfragment.jsp文件。
2.通過腳本,您可以實現簡單的分頁和線條的交替顏色。
首先,添加壹個表格,選擇表格中的詳圖線,然後切換到“腳本”選項卡。
將以下代碼var count=1添加到onRender事件中;
在onCreate事件中寫入
++計數;
if(count % 10 = = 0 ){
style . pagebreakafter =“always“;
}
如果(計數% 2!= 0) {
style . set background color(“silver“);
}
它可以實現每頁10條記錄和交替顏色的功能。(這個方法行不通)
3.統計函數
在屬性編輯器中,選擇“Binding”選項,然後添加聚合以對列執行函數統計。將動態文本拖到界面上。
4.公共數據源和樣式
首先創建壹個新庫,然後打開該庫。您可以在outline視圖中添加數據源,然後打開要添加的rptdesign,轉到resources視圖並右鍵單擊added view選項。其他公共資源也可以這樣操作。當您想要添加表格線條和其他樣式時,可以先添加壹個樣式,然後將其添加到rptdesign樣式中,這樣您就可以將樣式選項應用於所需的內容。壹個小問題,表格的表頭默認為粗體。選擇表格標題並在屬性編輯視圖中單擊粗體選項兩次。
5.參數的使用
在報表設計階段,在帶有可變參數條件的sql語句中由數據源設置,還是使用它?來匹配。然後選擇參數以綁定參數。如果需要通過網頁上的參數更改sql語句,首先,在數據集的sql語句中編寫壹個不帶任何的sql,然後選擇數據集,在主面板中選擇腳本,在腳本選項中選擇beforeOpen然後使用var pvvalues = params【“pname“】;
this . query text+=“new query“;
在web應用程序階段,報表的參數可以通過以下方式傳遞:
1.使用birt自己的標記庫來傳遞參數。
2.通過url傳遞參數。
3.用birt引擎api編寫自己的servrlet,然後傳遞參數。
6.國際化
首先,在報告設計階段,單擊空白處,然後在屬性編輯視圖中找到resources屬性,並填寫資源文件的名稱。這樣,birt的資源文件就關聯起來了。如果您想國際化某個位置的文本,您可以選擇該文本,然後在屬性編輯中找到本地化以將其國際化。
資源文件應該放在與設計文件相同的目錄中。如果要修改資源文件的路徑。在birtengine初始化期間可以進行以下設置:
engine config config = new engine config();
config . setresourcepath(sc . get realpath(“/we B- INF/classes“);
7.修改webcontent存儲路徑。
對於web應用程序,要修改webcontent的存儲路徑,可以在viewservlets.jar中修改ViewerServlet類的以下兩行:
this . viewer . setjsprootpath(“/web content/BIRT“);
this . run . setjsprootpath(“/web content/BIRT“);
8.在8.web應用程序下訪問報告的方法。
框架集,以框架集的形式顯示報告。該界面包含壹些框架,如頁面導航,在其中顯示報表主體;使用表單:
http://localhost:8080/BIRT app/frameset?__report=報告文件路徑&;參數=........
運行時,報告顯示為單獨的html頁面或pdf。由於該表單中沒有frmaeset,因此用戶必須提供相應的參數,如報表參數和頁碼。使用表單:
http://localhost:8080/birtApp/run?__report=報告文件路徑&;參數=........
對於以上兩種操作,可用參數如下所示:
_ _格式:報告輸出格式:html或pdf默認為html。它不適用於框架集
__isnull:指示參數為null,這通常用於字符串類型。如果提供了參數並且值為空:-BIRT將日期和數字類型視為空。-對於字符串,BIRT將其視為空字符串。因此,為了解釋壹個字符串為null,通常將其寫成:__isnull= parameter。
__locale:本地化選項,默認為jvm語言環境。
_ _報表:報表設計文件路徑。
報表參數:報表參數的參數值對,形式為:參數名稱=參數值。對於框架集,直接在地址欄中輸入參數名稱=參數值並按enter鍵,這不會影響報告結果。雖然,當您此時選擇“運行報告”時,彈出的參數值已經更改。