報(bào)表傻瓜式文檔_第1頁(yè)
報(bào)表傻瓜式文檔_第2頁(yè)
報(bào)表傻瓜式文檔_第3頁(yè)
報(bào)表傻瓜式文檔_第4頁(yè)
報(bào)表傻瓜式文檔_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、JasperReports報(bào)表傻瓜式文檔1需求說(shuō)明在中石化信貸系統(tǒng) 需要在 WEB頁(yè)面上提供批復(fù)單和簽報(bào)單的下載,客戶提出要使用 Jasper Reports報(bào)表(以下簡(jiǎn)稱(chēng)JR技術(shù)。具體的是要提供批復(fù)單和簽報(bào)單的PDF格式文檔下載,PDF格式的報(bào)表中包括領(lǐng)導(dǎo)簽名圖片。2技術(shù)說(shuō)明為實(shí)現(xiàn)上述需求采用Jasper Reports技術(shù)。該技術(shù)可以將 IRepot設(shè)計(jì)好的報(bào)表與來(lái)自javat程序生成的數(shù)據(jù)進(jìn)行填充,生成PDF文檔。報(bào)表的內(nèi)容由兩部分組成,一部分由報(bào)表設(shè)計(jì)工具設(shè)計(jì)好的固定部分(IRport設(shè)計(jì)的報(bào)表),另一部分是由程序傳遞的值(可以是一維的 變量值,也可以是二維的變量如list.另外也包括

2、圖片)。3系統(tǒng)整合由于華騰的框架中以經(jīng)包含有Jasper Reports所需的Jar包:jasperreports-2.0.5.jarjasperreports-2.0.5-applet.jarjasperreports-2.0.5-javaflow.jar以及處理中文的相關(guān) Jar包:itext-1.3.1.jariTextAsia n.jar4開(kāi)發(fā)實(shí)現(xiàn)JasperReports技術(shù)的具體開(kāi)發(fā)應(yīng)用分為以下兩個(gè)階段4.1報(bào)表模板制作JasperReports報(bào)表設(shè)計(jì)工具有 IReport Designer,JasperSoft Studio,JasperAssistant 等等,下 面的設(shè)計(jì)采

3、用IReport作為設(shè)計(jì)工具。iReport是一個(gè)可視化的報(bào)表模板設(shè)計(jì)工具,使用此工具能方便地對(duì)報(bào)表進(jìn)行設(shè)計(jì)。在iReport中已經(jīng)包含了 jasperreports在運(yùn)行時(shí)需要的jar文件,在項(xiàng)目中的lib目錄中包含Jasperreports-*.jar即可,其中* 為版本號(hào),比如 2.0.5 。 iReport 的安裝包在"99-其它 JasperReport開(kāi)發(fā)文檔整理 soft ”文件夾中。iReport-2.0.5-windows-installer.exe。安裝iReport需要先設(shè)置JDK環(huán)境,2.0.X版本要求JDK1.5環(huán)境。4.1.1 Step1 :iReport

4、 安裝:如果是windows 系統(tǒng),直接雙擊安裝圖標(biāo)以下以在windows 上安裝為例:4.1.1.1 A歡迎界面,點(diǎn)擊Next 繼續(xù)4.1.1.2 B.閱讀license 內(nèi)容,點(diǎn)擊 “ Agree "繼續(xù)4.1.1.3 C.選擇安裝組件,點(diǎn)擊 Next 繼續(xù)4.1.1.4 D.指定安裝路徑,點(diǎn)擊 Next 繼續(xù)4.1.1.5 E.指定程序組名稱(chēng),點(diǎn)擊Install ”可4.1.1.6 F.等待安裝過(guò)程4.1.1.7 G.安裝結(jié)束,點(diǎn)擊Finish 完成在桌面上會(huì)出現(xiàn)如此圖標(biāo):4.1.2 Step2: iReport 設(shè)置4.1.2.1 A 啟動(dòng) iReport,如圖:iRepor

5、t啟動(dòng)會(huì)根據(jù)運(yùn)行的機(jī)器的Locale屬性自動(dòng)設(shè)置軟件語(yǔ)言(Language ),這里可能會(huì)出現(xiàn)一些偏差,筆者使用的是簡(jiǎn)體中文,但啟動(dòng)后設(shè)計(jì)界面是繁體中文,因此我們需要對(duì)其進(jìn)行設(shè)置。4.122 B設(shè)置默認(rèn)語(yǔ)言工具欄- > “工具”(或Option ”)-> “選項(xiàng)”更改語(yǔ)言種類(lèi),從下來(lái)菜單中選擇中文(中國(guó))”。如果打開(kāi)就是此項(xiàng),可以先更換成別的種類(lèi)(比如中文"),然后再次進(jìn)入此界面將其更換成中文(中國(guó))”。點(diǎn)擊 存檔”后,可以看到界面變成了 簡(jiǎn)體中文":4.1.2.3 C設(shè)置預(yù)覽PDF的工具存放路徑4.1.2.4 D解決中文問(wèn)題由于jasper reports中沒(méi)

6、有可以完整顯示中文的jar包,所以導(dǎo)入相應(yīng)的jar包就可行了。需要導(dǎo)入的Jar包如下:itext-1.3.1.jariTextAsia n.jar導(dǎo)入方法如下圖所示:1. 工具欄上 Option -> 'Classpath ",2. 在Classpath中點(diǎn)擊“添加 Jar"3. 在彈出的對(duì)話框中,找到存放itext-1.3.1.jar,iTextAsian.jar的路徑,選中后點(diǎn)擊打開(kāi)。4. 最后要記信 Save Classpath.5. 在Fonts Path中勾選導(dǎo)入的 Jar包,并保存。此到就完成了解決中文顯示問(wèn)題的 jar包導(dǎo)入工作。但到現(xiàn)在還是無(wú)法

7、正常顯示中文內(nèi) 容,因?yàn)?。詳?jiàn)樣式設(shè)置。4.1.2.5 E樣式設(shè)置為什么要設(shè)置樣式呢?很簡(jiǎn)單,因?yàn)檫@是唯一一勞永逸的解決中文問(wèn)題的方法。費(fèi)話少說(shuō),看圖。1. 工具欄上 格式化"-> “Styles "2. 點(diǎn)擊New,新建一個(gè)樣式。Sytle name 為新宋體,并勾選上Default style3. 在字體中進(jìn)行相應(yīng)設(shè)置,以便讓中文可以顯示在報(bào)表上。在Font那一欄上點(diǎn)擊,會(huì)彈出一 Add/modify report font對(duì)話框。在該對(duì)話框中有五個(gè)地方需要選一下,F(xiàn)ont Name,Size 可以根據(jù)實(shí)現(xiàn)情況進(jìn)地設(shè)定,PDF Font Name,PDF Enco

8、ding,PDF Embeded 須和圖中設(shè)置的一致,才能在 PDF中顯示中文。經(jīng)過(guò)這么多圖的解說(shuō),中文問(wèn)題到這里就完美的解決了。4.126 F其他設(shè)置此步不是必須的,根據(jù)需要設(shè)定。使用iReport新創(chuàng)建的報(bào)表模板為|.jrxml |格式,編輯完畢后需要編譯,編譯會(huì)產(chǎn)生 .jasper文件, 在運(yùn)行時(shí)需要編譯好的.jasper文件。這原理類(lèi)似java程序,源代碼文件是.java,編譯好之后是.class 文件,在應(yīng)用的時(shí)候只需要.class文件。由于安裝好之后默認(rèn)的產(chǎn)生.jasper文件就在當(dāng)前目錄,為了便于管理,可以對(duì) iReport設(shè)計(jì)軟件進(jìn) 行一些設(shè)置,統(tǒng)一目錄來(lái)保存編譯好的jaspe

9、r文件。iReport可以有多種方式進(jìn)行報(bào)表預(yù)覽(pdf、excel )等,每次預(yù)覽時(shí)候,如果選擇這些格式,那么會(huì)產(chǎn)生這些文件,也可以通過(guò)此設(shè)置統(tǒng)一保存。工具欄上 Option ”-> "選項(xiàng)”,然后在選項(xiàng)卡上選擇 “Compiler”,對(duì) Default compilation direct ory "和 Directory where the paged out data is stored "進(jìn)行設(shè)置,點(diǎn)擊旁邊的 瀏覽"即可進(jìn)行目錄 選擇。如果默認(rèn)時(shí),jasper文件和java文件生在JasperReports 的安裝目錄。如果編譯不希望保存

10、自動(dòng)產(chǎn)生的java文件,可以去掉 keep .java file "前面的勾選。4.1.3 Step3:新建報(bào)表模板Demo4.1.3.1 A. 工具欄-> 檔案”-> 開(kāi)啟新檔”4.1.3.2 B.輸入報(bào)表名稱(chēng),本文為Demo ”,點(diǎn)擊“0K'繼續(xù)4.1.3.3 C.如圖界面如圖,可以看到報(bào)表模板正文分幾個(gè)區(qū)域,解釋如下:除了第一頁(yè)以外,不管報(bào)表中共有多少個(gè)頁(yè)面也不會(huì)再段只在整個(gè)報(bào)表的第一頁(yè)的最上面部分顯示, title段中的內(nèi)容。pageHeaderpageHeader 段中的內(nèi)容將會(huì)在整個(gè)報(bào)表中的每一個(gè)頁(yè)面中都會(huì)出現(xiàn),顯示在位置在頁(yè)面的上部, 如果是報(bào)表的第

11、一頁(yè),pageHeader 中的內(nèi)容將顯示在title段下面,除了第一頁(yè)以外的其他所有頁(yè)面中 pageH eader中的內(nèi)容將在顯示在頁(yè)面的最上端。4.1.3.4 D.創(chuàng)建數(shù)據(jù)庫(kù)類(lèi)型的JDBC數(shù)據(jù)源iReport支持多種數(shù)據(jù)庫(kù),本例采用oracle作為示例工具欄上Data ” - > “連結(jié)/資源來(lái)源”在 “Connections/Datasources ” 界面中點(diǎn)擊 “NeW在 “Connections properties ” 中選擇 “Database JDBC connection ”,點(diǎn)擊 “Next"繼續(xù),這里可以看至V,jasper report的數(shù)據(jù)來(lái)源可以有

12、很多方式:數(shù)據(jù)庫(kù)、XML文件、JavaBean文件等,從下圖中可以看出4.1.3.5 E.指定數(shù)據(jù)庫(kù)JDBC類(lèi)型和JDBC URL其中,iReport中已經(jīng)包含了 mysql和hsqldb這兩種數(shù)據(jù)庫(kù)的驅(qū)動(dòng)jar文件,可以根據(jù)實(shí)際需要選擇不同的JDBC Type,(記得拷貝相應(yīng)的數(shù)據(jù)庫(kù) JDBC驅(qū)動(dòng)jar文件到項(xiàng)目的lib目錄中)根據(jù)實(shí)際內(nèi)容,輸入 JDBC URL和用戶名及密碼輸入完成后,點(diǎn)擊 Text ”,如出現(xiàn)如下界面,說(shuō)明連接成功。點(diǎn)擊save”保存,在列表中可以看到此連接的配置4.1.3.6 F.設(shè)置報(bào)表查詢(xún)工具欄“Data”-“報(bào)表查詢(xún)”出現(xiàn)如下界面:可以看到數(shù)據(jù)源有多種方式,這里

13、我們使用Report Query方式,這種方式可以直接選擇Query Lanuage種類(lèi),然后再在編輯框中輸入SQL語(yǔ)句。如:select * from bctl,然后會(huì)自動(dòng)讀取相關(guān)表的結(jié)構(gòu)出來(lái),如圖:點(diǎn)擊OK'以后,這些表的 Field Name將會(huì)被加入到 “Document structure ”的“Fields部分,如圖:這里也可以采用另一種方式,就是引入?yún)?shù),這樣可以在調(diào)用的時(shí)候根據(jù)業(yè)務(wù)規(guī)則比較靈活地通過(guò)設(shè)置參數(shù)來(lái)改變數(shù)據(jù)內(nèi)容:在 “Document structure "區(qū)找至U aParameters ”,右鍵單擊后,選擇 “AdcK”,再選擇 aParamet

14、er” ,如圖:輸入以下內(nèi)容,Parameter Name在報(bào)表查詢(xún)界面中要使用,或在自己的業(yè)務(wù)邏輯中使用,可以改變,這里也可以給一個(gè)默認(rèn)值,即Default Value Expression 內(nèi)容,注意 Parameter Class Type 類(lèi)型,本例使用默認(rèn)的java.Iang.String注意:Default Value Expression的內(nèi)容需要雙引號(hào)引起來(lái)。在報(bào)表查詢(xún)"編輯內(nèi)容中就指定為使用此參數(shù),格式為"$P!parameterName ”,本例中就使用"$P!SQLSTR ”,輸入后,同樣可以看到表結(jié)構(gòu)會(huì)自動(dòng)更新出來(lái),點(diǎn)擊“0K,同樣會(huì)把這些

15、表結(jié)構(gòu)內(nèi)容放置到“Fileds區(qū)域中。4.1.3.7 G.編輯報(bào)表模板如圖:在編輯區(qū)中對(duì)應(yīng)的段中放置需要的要素,要素有很多種,常用的有以下幾種類(lèi)型: 靜態(tài)文本內(nèi)容:這些內(nèi)容是固定不變的文本內(nèi)容,如上圖的中石化信貸項(xiàng)目Demo參數(shù)(Parameter ):如上圖 “ $PSQLSTR ”()字段(Fields ):如上圖 “ $FBRCODE ”變量(Variables ):如上圖 “ $VPAGE_NUMBER ”( iReport 自帶的變量)從這里面把需要的內(nèi)容拖岀來(lái)放置到模板編輯區(qū)中相應(yīng)的段中即可。4.1.3.8 H.編譯預(yù)覽在工具欄上找到,分別是編譯、執(zhí)行、執(zhí)行(動(dòng)態(tài)連結(jié)),點(diǎn)擊編譯將

16、會(huì)產(chǎn)生.jasper文件,點(diǎn)擊執(zhí)行會(huì)先編譯再預(yù)覽(如果設(shè)定了對(duì)應(yīng)的預(yù)覽)。預(yù)覽有多種方式,點(diǎn)擊工具欄上建立”,可以看到如下圖多種預(yù)覽方式:根據(jù)需要選擇預(yù)覽類(lèi)型,還要注意,如果沒(méi)有對(duì)應(yīng)的軟件(比如Adobe Reader )來(lái)查看生成好的文件,那不會(huì)看到效果,iReport會(huì)在對(duì)應(yīng)的目錄生成文件而已.4.1.3.9 I.效果預(yù)覽4.1.3.1 J.報(bào)表模板制作完成4.2使用開(kāi)發(fā)4.2.1 開(kāi)發(fā)工具開(kāi)發(fā)工具使用eclispe3.3搭配開(kāi)發(fā)4.2.2 創(chuàng)建項(xiàng)目打開(kāi) Eclipse,在工具欄中, File ”“NeW -> “Other ”創(chuàng)建一個(gè) web項(xiàng)目,選擇 Web "下的Dy

17、namic Web Project ”,點(diǎn)擊_Next"下一步,如圖:輸入 Project Name,本例為 JasperReportsDemo ",點(diǎn)擊 Finish "完成如圖:在項(xiàng)目列表中可以看到 JasperReportsDemo的項(xiàng)目:4.2.3 導(dǎo)入jar文件在項(xiàng)目中找到 “WebContent ”-> "WEB-INF ”-> “l(fā)ib,”右鍵單擊,選擇 Import",如圖: 選擇 “General”-“File System" 點(diǎn)擊 “Next”繼續(xù)項(xiàng)目中可以看到j(luò)ar文件被引入了,如圖:4.2.4 導(dǎo)入

18、jasper文件在WebContent下建立目錄report,并把3.4節(jié)編譯好的jasper 文件導(dǎo)入進(jìn)來(lái)。4.2.5創(chuàng)建顯示PDF格式報(bào)表的JSP文件在 WebContent 根目錄下創(chuàng)建jsp文件testpdf.jsp,內(nèi)容如下:V%<%<%<%page contentType= "application/pdf;charset=UTF-8"代碼說(shuō)明:page import = "net.sf.jasperreports.engine.*"定位gspmpo文件="java.utiL*"%>page imp

19、ort = "java.io.*" %>給報(bào)表模板中使用到的參數(shù)“SQLSTR賦值,這里指定一個(gè)page import = "java.sql.*" %>%>sql語(yǔ)句%><%3./報(bào)表編譯之后生成的Fiie rep采用JDBC方式連結(jié)數(shù)據(jù)庫(kù).jasper文件的存放位置生成PDF文件,參數(shù)分portFile = new FhT.件模板物理位置feX報(bào)表參數(shù),a數(shù)據(jù)庫(kù)連結(jié)"/report/sample.jasper");(1)5. 設(shè)置響應(yīng)頭的類(lèi)型,此處設(shè)為 pdf類(lèi)型。Stri ng url="jdbc:oracle:thi n: 10.5.24.137:1521:bill發(fā)布項(xiàng)目后預(yù)覽,輸入

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論