JasperReports是一個靈活強大的報表生成工具其可以產(chǎn)生_第1頁
JasperReports是一個靈活強大的報表生成工具其可以產(chǎn)生_第2頁
JasperReports是一個靈活強大的報表生成工具其可以產(chǎn)生_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1 介紹JasperReports是一個靈活強大的報表生成工具。其可以產(chǎn)生多種文件格式如PDF、HTML或XML。并且未來將會支持諸如CSV、XLS、RTF等格式的輸出。它是用純JAVA編寫的,它可以應(yīng)用于J2EE或WEB應(yīng)用程序。它的主要目的是幫助一個簡單或豐富的輸出文件。JasperReport是按報表內(nèi)的數(shù)據(jù)生成相應(yīng)的XML文件。這些數(shù)據(jù)來自多種數(shù)據(jù)源包括關(guān)系型數(shù)據(jù)庫,集合或Java類對象的數(shù)組。用戶可以通過一些簡單的接口生成用戶自定義數(shù)據(jù)源,這些將在下文中介紹。為了讓這些數(shù)據(jù)加入文件,你必須將設(shè)計好的XML報表進行編譯。通過編譯程序可以產(chǎn)生完整的報表文件。這樣可以將其保存在本地硬盤或通

2、過網(wǎng)絡(luò)傳輸。這個經(jīng)過編譯的文件可以在程序需要使用報表時傳入?yún)?shù)。事實上經(jīng)編譯的報表是將定義成XML文件的報表轉(zhuǎn)換成JasperReport格式。在編譯時會對XML定義的文件作多種檢查保證經(jīng)編譯文件的正確性。經(jīng)編譯的結(jié)果是包含了報表中的變量等信息,可以轉(zhuǎn)換成各種文件形式。為了生成一個報表,驅(qū)動引擎需要接收數(shù)據(jù)。這個有多種方式。一些數(shù)據(jù)可以通過報表變量傳遞。但是大部分的數(shù)據(jù)是通過數(shù)據(jù)源傳入的。報表生成引擎可以接收指定的數(shù)據(jù)源對象裝入報表中,或通過處理連接到關(guān)聯(lián)數(shù)據(jù)庫上的JDBC數(shù)據(jù)對象。這是就產(chǎn)生了可以被顯示的含參數(shù)的結(jié)果。這個結(jié)果可以通過JasperReport內(nèi)建的顯示器或轉(zhuǎn)換成一些流行的格式

3、如PDF、HTML或XML。API介紹大多人使用JasperReport類庫時,只是使用了一部分類,并沒有了解整個API庫,可能覺得這樣沒有什么必要。那么我們就著眼于一些重要的類和接口,并研究一下如何在程序里使用,使得JasperReport文件功能更加強大。Class 我們從這個類開始,因為這是報表類庫用來產(chǎn)生報表最基本的原料。這個對象是在XML報表文件建立之后通過XML解析程序生成的。例如一個應(yīng)用程序使用JasperReports,如果不使用XML格式編輯,在一些例子是一些工程源文件,這些稱做noxmldesign,你可以動態(tài)建立一個對象而不需要編輯XML。一個實例化的對象將在填充數(shù)據(jù)和生

4、成報表之前編譯。這就是我們成其為原料的原因。Class這個類的實例化對象是一個經(jīng)過編譯的框架報表對象。其是通過對JasperReport報表對象編譯取得的并可以作為填充數(shù)據(jù)和展現(xiàn)報表的對象。在編譯時要經(jīng)過錯誤檢查和對報表元素的重組,以提高使用時的效率。類庫建立一個臨時文件保存包括報表變量表達式、文字欄、圖片、分組表達式等報表變量。這些臨時的Java源文件Class 這個類是關(guān)于進行編譯報表的功能。他有多種方法允許用戶編譯XML設(shè)計的報表或其他輸入流。他甚至可以將保存在內(nèi)存中的或接收在編譯過的設(shè)計報表是填充了數(shù)據(jù)的,這個結(jié)果將由類這個類的實例化對象時填充了數(shù)據(jù)對象并保存有用戶設(shè)計的樣式。你可以將

5、這個文件轉(zhuǎn)換成諸如PDF、HTML、XML或其他支持的格式。JasperReports是一個靈活的報表生成工具。用戶可以使用各種各樣他想使用的數(shù)據(jù)源,他只要使用適當?shù)慕涌冢@樣報表生成引擎就可以將來自指定數(shù)據(jù)源的數(shù)據(jù)傳入報表。一般的,每次向報表做數(shù)據(jù)填充式都回實例化一個本接口對象來支持報表建立。集,它是通過JDBC取得對數(shù)據(jù)庫操作的結(jié)果。J其中的字體、圖片、形狀和編碼都將被實例化,需要傳入數(shù)據(jù)的部分都將以空填充。這個類是作為向設(shè)計報表裝載數(shù)據(jù)的?!癒ey”腳本標記是JasperReport中一個很有用的特性。它允許編制用戶代碼,這些代碼將在報表引擎裝載數(shù)據(jù)時運行。這些用戶代碼可以處理報表中的數(shù)

6、據(jù)處理工作并且可以執(zhí)行定義頁、列或者組的分割。這樣完全可以展現(xiàn)用戶所需要的報表顯示。我們在這里討論的一個Java報表生成工具和報表打印工具。當我們有了一個完整的報表我們可以選擇瀏覽,或是把它轉(zhuǎn)換到其他的格式或只是作打印。對象來進行展現(xiàn)。就像上邊提到的JasperReports工具允許將報表轉(zhuǎn)換成PDF、HTML或XML。一些時間之后JasperReports將會支持CSV、XSL或其他一些類型。這個類有多種方法可以處理來自多種數(shù)據(jù)源如文件、輸入(輸出)流等。有時候只想將報表保存為PDF或HTML格式,但不想保存序列文件。這個類能夠方便的產(chǎn)生您所想要的格式。如何使用這個類,可以在原文件webap

7、p中找到生成的PDF和HTML文件。這是一個與以上提到的不同類型的類,它更像是一個可視化容器。他可以應(yīng)用于本地Java應(yīng)用程序中顯示JasperReport文件。但這個可視化容器不一定令每個人都很滿意。這是一個更像是一個demo容器,通常人們在程序中使用了JasperReports庫時是不會使用到這個類。這是在你設(shè)計報表模版是幫助你設(shè)計的。有了這個開發(fā)輔助工具是為沒有可視化開發(fā)工具的一個補償。這個同樣在實例程序中可以預(yù)覽XML格式或經(jīng)編譯的模版。所有JasperReports的主要產(chǎn)生過程如報表編譯、填充數(shù)據(jù)和報表輸出,通常是在處理序列化的對象。在你的得到你想要的JasperReport之前主

8、要的任務(wù)和過程在這節(jié)中我們將討論如何分析XML設(shè)計的報表模板、如何填充數(shù)據(jù)、如何預(yù)覽、如何打印或如何以其他格式輸出。XML的解析在這種情況下在運行的時候需要指定SAX驅(qū)動名稱來指定SAX 2.0解析文件。你可以用兩種方法實現(xiàn)。我們使用Xerces XML解析程序作解釋。如果你使用是不同的SAX 2.0 XML解析程序,你必須修改解析器的名稱。首先你需要設(shè)置系統(tǒng)變量,在當你命令窗口中啟動了Java虛擬機是輸入:JavaSample.xml在所有的示例中我們使用了ANT編譯工具來實現(xiàn)不同的方法。我們支持在Java虛擬機中使用sysproperty這個變量來修改。<sysproperty ke

9、y = ""Value = ""/>第二種方法設(shè)置環(huán)境變量是使用System.setProperty("","");請確定jsp/compile.jsp和WEB-INF/classes/servlets/CompileServlet.java文件在webapp中。編譯報表為了生成報表。在這本書中我們著重介紹使用XML方法,這至少在目前是較好的方法使用JasperReports,我們將有機會更多地了解這個方法。當然現(xiàn)在也有GUI工具可以幫助你更加容易的設(shè)計報表。而這些工具就是直接通過JasperReports API來建立

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論