国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

JasperReports在招生管理平臺的應(yīng)用研究*1

2016-07-21 00:50吳志霞葉根梅
通化師范學院學報 2016年4期
關(guān)鍵詞:數(shù)據(jù)源報表模板

吳志霞,陳 平,葉根梅

(馬鞍山師范高等??茖W校,安徽 馬鞍山 243041)

?

JasperReports在招生管理平臺的應(yīng)用研究*1

吳志霞,陳平,葉根梅

(馬鞍山師范高等??茖W校,安徽 馬鞍山 243041)

摘要:招生管理系統(tǒng)是校園信息化的一部分,其報表的實現(xiàn)有多種方法,課題組采用iReport與JasperReports并基于JavaBeans數(shù)據(jù)源方式進行報表的設(shè)計及實現(xiàn),使報表的實現(xiàn)過程更簡易,并給用戶提供豐富的報表格式和輸出方式.文中對系統(tǒng)報表的設(shè)計思路及實現(xiàn)過程進行了論述,以便能為類似開發(fā)人員提供參考和借鑒.

關(guān)鍵詞:報表;JasperReports; JavaBeans;招生管理

報表制作及輸出是信息系統(tǒng)的一個重要組成部分.高校招生系統(tǒng)作為信息化管理的一部分,需要提供分批次打印錄取通知書,新生報到時打印報到單,針對錄取情況提供分省、分科、分專業(yè)統(tǒng)計,針對新生報到情況提供報到率、報到統(tǒng)計分析、新生名單打印、入學名冊打印、已報到人員數(shù)據(jù)導出、未報到人員數(shù)據(jù)導出等多種報表統(tǒng)計輸出功能.本課題組對管理平臺所需的報表進行了分析、設(shè)計、編碼測試及實現(xiàn),基本能滿足前述學生錄取管理及報到管理報表的統(tǒng)計和輸出,下文將闡述設(shè)計思路及實現(xiàn)過程.

1設(shè)計思路

本研究采用iReport工具設(shè)計出符合JasperReports所需要的報表模板文件,基于MVC設(shè)計模式,將JasperReports與Java Web框架技術(shù)進行集成,實現(xiàn)基于Web的招生管理平臺的報表制作與生成.在運用iReport進行報表模板文件制作時,選用基于JavaBean類型的數(shù)據(jù)源,避免了針對復(fù)雜或復(fù)合型報表數(shù)據(jù)無法用某一條SQL語句進行表述的問題;在JasperReorts報表導出實現(xiàn)階段,運用JasperReorts提供的API去編寫代碼、加載報表模板文件,將JavaBean類型的集合數(shù)據(jù)去動態(tài)填充報表,為用戶提供報表的顯示和多種格式的報表輸出.[2-3]

2JasperReports和iReport介紹

JasperReports是一個免費的、基于Java的純開源報表生成工具和引擎.其類庫中提供了很多API,通過這些API,能夠非常方便的操作報表的生成、編譯、填充、打印、導出等等.它可以支持多種數(shù)據(jù)源,比如Bean、Connection、xml、ResultSet記錄集等作為數(shù)據(jù)源,可以很靈活地設(shè)計普通報表、主細表、交叉報表,并可以將報表的結(jié)果導出成excel、pdf、xml、html等格式文件,可以應(yīng)用于各種Java程序,比如在JavaEE、Web 應(yīng)用程序中生成動態(tài)內(nèi)容.其主要的目的是輔助生成面向頁面(page oriented)的準備付諸打印的文檔.[1-2]但JasperReports本身沒有圖形界面的設(shè)計工具,初期都是通過編寫JRXML來完成報表模板的創(chuàng)建,效率很低,后來引入了iReport工具來輔助創(chuàng)建報表模板.

iReport是JasperReports的一個可視化報表模板設(shè)計工具,用它就可以動態(tài)鏈接數(shù)據(jù)庫生成報表,或在SQL語句中輸入?yún)?shù),提取指定的數(shù)據(jù)來生成報表.但iReport只是一個客戶端工具,要生成報表,用戶必須先安裝它,并知道如何使用,如果要改變篩選條件,還要求用戶懂得SQL語句.iReport在創(chuàng)建報表模板的過程中會產(chǎn)生jsxml和jasper兩種文件,jsxml是用來定義報表格式的,比如報表頭是什么內(nèi)容,報表體有哪些列等,jasper 是由jsxml編譯生成的二進制文件,開發(fā)者加載經(jīng)過編譯后的jasper文件,然后利用jasperReports這個工具包來編寫程序代碼,實現(xiàn)信息系統(tǒng)動態(tài)生成所需的報表.

3JasperReports報表業(yè)務(wù)的邏輯處理總體設(shè)計

報表的主要功能是數(shù)據(jù)的展示,而報表的功能需要結(jié)合實際的業(yè)務(wù)需要進行開展,根據(jù)系統(tǒng)的業(yè)務(wù)需求實現(xiàn)報表的導出.課題組選取Struts2+hibernate+Spring的Java Web框架來設(shè)計與實現(xiàn)系統(tǒng).在設(shè)計處理報表業(yè)務(wù)的邏輯過程時,采用了MVC設(shè)計模式,實現(xiàn)表現(xiàn)層與功能模塊的完全分離,結(jié)構(gòu)圖如圖1所示.

圖1 報表業(yè)務(wù)的邏輯處理結(jié)構(gòu)圖

4JasperReports報表數(shù)據(jù)源的選定

在使用iReport進行報表模板的設(shè)計之前,必須先確定要使用哪種類型的DataSources來填充報表,常用的是基于Connection類型的數(shù)據(jù)源,因Connection作為報表數(shù)據(jù)源要求使用SQL查詢作為數(shù)據(jù)來源,但有時報表的內(nèi)容并不能由一條SQL語句完成,鑒于課題實際業(yè)務(wù)報表的復(fù)雜度,本文采用基于JavaBeans類型的數(shù)據(jù)源,后期開發(fā)者只要將數(shù)據(jù)封裝成一個個JavaBean對象,然后將其添加到一個JavaBean集合類之中,就可完成填充報表的數(shù)據(jù)準備工作.

確定采用基于JavaBeans類型的數(shù)據(jù)源,在運用iReport進行報表模板的設(shè)計之前,開發(fā)者必須先完成JavaBean實體類及工廠測試類的創(chuàng)建與編譯工作,其中工廠測試類主要是用來提供一個方法,該方法內(nèi)部將創(chuàng)建多個JavaBean對象,并將其添加到一個集合類對象中,而這個JavaBean集合類對象,就是要用來在iReport中查看報表生成效果的填充測試數(shù)據(jù).隨后將JavaBean與工廠測試類的.class文件打包成.jar文件,至此完成基于JavaBeans類型的數(shù)據(jù)源報表模板設(shè)計前期數(shù)據(jù)準備工作.

5JasperReports報表模板的實現(xiàn)

課題組選用iReport進行JasperReports報表模板的設(shè)計.在使用iReport進行拖曳控件設(shè)計報表模板之前,打開iReport工具軟件設(shè)置.jar文件的classPath路徑,選用JavaBeans Set data source方式建數(shù)據(jù)源,若測試連接成功,表明在iReport中已經(jīng)可以采用JavaBeans類型的數(shù)據(jù)源進行報表模板的設(shè)計.[3-4]

在iReport中,開發(fā)者打開報表模板設(shè)計向?qū)?,選擇一個標準空白模板進行樣式設(shè)計,設(shè)置表頭、內(nèi)容、行尾,還可以進行報表的參數(shù)、字段或變量的設(shè)置,最后保存模板,生成.jrxml文件.將生成的jrxml文件進行編譯,會得到j(luò)asper文件,而這個jasper文件將應(yīng)用到JavaEE Web框架來完成報表的制作,實現(xiàn)步驟如圖2所示.

圖2 基于JavaBeans數(shù)據(jù)源JasperReports報表模板的實現(xiàn)

6JasperReports報表的導出

有了前期生成的jasper文件,應(yīng)用程序加載該文件,并導入JasperReports的jar包,便可編寫代碼來實現(xiàn)報表的填充及導出.本系統(tǒng)既提供用戶在線瀏覽數(shù)據(jù)的功能,也提供給用戶在客戶端閱覽與保存.如圖3所示,用戶可以通過瀏覽器在頁面上查看到“2014年分省分科類分專業(yè)成績統(tǒng)計表”,點擊“打印預(yù)覽”按鈕將輸出pdf文檔供用戶預(yù)覽或打?。稽c擊“數(shù)據(jù)導出”按鈕將導出如圖4所示的Excel文檔供用戶進行分析或處理.

圖3 基于Web的招生系統(tǒng)頁面樣例

以報表生成并導出Excel文檔為例,其工作原理為首先調(diào)用業(yè)務(wù)邏輯管理類,獲取用來填充報表的數(shù)據(jù),接著去獲取報表模板文件(.jasper文件)并通過加載的方式將其轉(zhuǎn)成JasperReport對象,再通過JasperFillManager類將數(shù)據(jù)自動填充到報表對應(yīng)的數(shù)據(jù)項中,最后采用導出器導出Excel文檔,其核心代碼如下:

按照上述步驟,在招生管理系統(tǒng)中已實現(xiàn)了學

生錄取管理及報到管理相關(guān)報表的統(tǒng)計和輸出功能.采用JasperReports來設(shè)計與開發(fā)報表,使整個系統(tǒng)開發(fā)過程得到簡化,減少時間和精力的投入,并能為用戶提供豐富的圖表顯示和多種格式的報表輸出,使管理人員、工作人員能夠清晰了解本校招生及報到狀況.本文提供了一個較好的報表生成方案,對類似項目的開發(fā)有一定的借鑒指導作用,期望能為同類研究提供一定參考.

參考文獻:

[1]周琳.JasperReports在物流商管理平臺中的研究與應(yīng)用[D].大連:大連海事大學,2013.

[2]黃鈺.基于Flex和JasperReport報表工具的設(shè)計與實現(xiàn)[D].廣州:華南理工大學,2010.

[3] iReport中文用戶手冊.[EB/OL](2012-01-13).http://wenku.baidu.com/view/a1e0aa0a7cd184254b3535f9.html?re=view,iReport中文用戶手冊

[4] 關(guān)鑫.基于J2EE的通用報表系統(tǒng)的研究與實現(xiàn)[D].成都:成都理工大學,2010.

(責任編輯:王前)

Research and Application of JasperReports in Enrollment Management Platform

WU Zhi-xia, CHEN Ping, YE Gen-mei

(MaanshanTeacher'sCollege,Maanshan,Anhui243041,China)

Abstract:Enrollment management information system is a part of the construction of campus information. About how to design and implement the report, there are multiple ways. In this paper, using iReport and JasperReports technology which based on the JavaBeans data source to make, so that the reporting process is more simple, and to provide the users with a wealth of report formats and output modes. The paper will gradually explain the design ideas and implementation process, so as to provide reference for similar developers.

Key words:report forms; JasperReports; JavaBeans; enrollment management

DOI:10.13877/j.cnki.cn22-1284.2016.04.016

*收稿日期:2015-11-20

基金項目:安徽省質(zhì)量工程項目資助“軟件技術(shù)專業(yè)綜合改革試點”(2014zy085)

作者簡介:吳志霞,女,江西撫州人,講師.

中圖分類號:TP31

文獻標志碼:A

文章編號:1008-7974(2016)02-0050-03

猜你喜歡
數(shù)據(jù)源報表模板
鋁模板在高層建筑施工中的應(yīng)用
鋁模板在高層建筑施工中的應(yīng)用
Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
Estimation of irrigation requirements for drip-irrigated maize in a sub-humid climate
基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
鎮(zhèn)長看報表
城市綜改 可推廣的模板較少
基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
WONCA研究論文摘要匯編
——初級保健晚期疾病患者照顧者的識別障礙:3個數(shù)據(jù)源的三角化測量
月度報表
石台县| 南漳县| 东兴市| 商南县| 石河子市| 仲巴县| 鄱阳县| 华阴市| 南平市| 巴里| 阳朔县| 富阳市| 习水县| 出国| 明星| 哈巴河县| 寿宁县| 诏安县| 太原市| 玉屏| 柯坪县| 津南区| 固始县| 澜沧| 团风县| 临邑县| 高碑店市| 措美县| 盐城市| 广安市| 神池县| 南部县| 察哈| 安吉县| 东兰县| 涿鹿县| 宁安市| 湛江市| 泌阳县| 武义县| 遵化市|