SpringMVC集成jasperreport

1. 引入jar包? ?pom.xml文件添加依賴

不要使用jsdperreports 6.4.3,因為spring-webmvc配合不上鸠澈,會導(dǎo)致html方式失敗

2.??注冊XmlViewResolver逝慧,用于iReport?&?JasperReports報表生成 讀取reports.xml配置文件


3. reports.xml? 注入報表模板


4. 報表導(dǎo)出Controller


這里會自動根據(jù)reportName尋找同名的導(dǎo)出模板,最好名稱相同 format為導(dǎo)出格式


將查詢結(jié)果數(shù)據(jù)放入報表數(shù)據(jù)源JRDataSource中


最后返回ModelAndView


最后在前端頁面只需一個layer彈出層插件即可


5. 對了最后再講一下jasperreport studio如何使用


在接下來的教程中,我們將實(shí)現(xiàn)一個簡單的JasperReports示例捌浩,展現(xiàn)其基本的開發(fā)放刨、使用流程。文章很長尸饺,不過是以圖片居多进统,文字并不多。

? ? ? ? 實(shí)例中使用最新的Jasper Studio5.2進(jìn)行報表設(shè)計(下載地址:http://sourceforge.net/projects/jasperstudio/files/JaspersoftStudio-5.1.0/)浪听,數(shù)據(jù)源使用了mysql自帶的示例數(shù)據(jù)庫world中的city表螟碎。報表中嵌入了一個3D的餅圖,用一個變量使得程序運(yùn)行的時候可以動態(tài)指定主報表的查詢語句馋辈。

Jasper Studio是基于Eclipse的報表設(shè)計工具(不熟悉Eclipse的看官先去熟悉一下基本知識吧)抚芦,默認(rèn)工作區(qū)設(shè)置為當(dāng)前用戶主目錄下的JaspersoftWorkspace文件夾,并且不可更改。首先叉抡,我們創(chuàng)建一個報表工程尔崔,本例中命名為DemoProject,然后創(chuàng)建一張新的報表(File --> New–->Jasper Report)褥民,就會出現(xiàn)類似下圖所示的窗口讓我們選擇一個模板季春。


?此例我們選Coffee模板,然后點(diǎn)Next消返。在接下來的頁面里载弄,我們給報表模板起個名字(Demo1.jrxml)并放在DemoProject的根目錄下,然后點(diǎn)Next撵颊,于是進(jìn)入了數(shù)據(jù)源選擇界面:


數(shù)據(jù)源是填充報表的關(guān)鍵宇攻,我們必須制定一個數(shù)據(jù)適配器(Data Adapter),此時我們有三種選擇:選擇“OneEmpty Record - Empty rows”倡勇,這樣我們就可以專注于報表的設(shè)計逞刷,而暫時不指定數(shù)據(jù)源,創(chuàng)建完報表之后妻熊,我們隨時可以制定別的數(shù)據(jù)源夸浅。

選擇“SampleDB - Database JBDC Connection”,這是Jaspersoft Studio安裝時提供的一個示例數(shù)據(jù)庫扔役。

點(diǎn)擊“New”按鈕創(chuàng)建一個新的數(shù)據(jù)源帆喇。這正是本例要采用的方式,我們將創(chuàng)建一個連接到本機(jī)MySql數(shù)據(jù)庫的world的數(shù)據(jù)源亿胸。

首先點(diǎn)擊“New”坯钦,在彈出的向?qū)ы撝羞x擇“Database JDBC Connection”,然后點(diǎn)“Next”彈出下圖所示的頁面:


配置好基本的數(shù)據(jù)庫連接信息侈玄,點(diǎn)擊“Test”測試通過之后葫笼,一個數(shù)據(jù)源就配置好了,我們點(diǎn)擊“Finish”結(jié)束配置拗馒。初次配置MySql數(shù)據(jù)源需要在Driver Classpath頁面指定MySql驅(qū)動包的路徑:


配置并選擇數(shù)據(jù)適配器之后,我們需要指定數(shù)據(jù)查詢的語句溯街,該語句查詢出的字段將直接用于報表中的數(shù)據(jù)字段诱桂。本例中我們選出city表中的所有字段:

點(diǎn)擊“Next”之后,接下來我們需要選擇本報表中用到的字段呈昔,本例把city表的所有字段都加入報表:


點(diǎn)擊“Next”之后挥等,我們可以選擇用來分組的字段奖地,本例中我們選擇用國家(CountryCode)來分組:


這是Eclipse工作區(qū)經(jīng)典的布局視圖嘁酿,中間部分是報表設(shè)計視圖蚁堤,右側(cè)的調(diào)色板(Palette)包含了一些報表元素茁计,我們可以方便地把它們拖拽到設(shè)計視圖中的報表模板上济瓢,然后根據(jù)需要調(diào)整元素的大小、位置和配置信息等践付。本例中我們將添加一個3D餅狀圖全封,這是一個Chart元素,具體方法將在下文介紹榄檬。

? ? ? ??左下角的大綱(Outline)視圖包含了當(dāng)前編輯的報表的所有基礎(chǔ)信息卜范,包括一些固定區(qū)域的樣式(Style)、報表參數(shù)(Parameters)鹿榜、字段(Fields)等海雪,我們可以方便地查看和修改。大綱視圖中還包括報表的一些固定面板的直接鏈接舱殿,比如標(biāo)頭(Title)面板奥裸,細(xì)節(jié)(Detail)面板等。點(diǎn)擊一個面板的鏈接之后沪袭,我們可以在右側(cè)的屬性視圖(Properties)中查看和修改該面板對應(yīng)的一些基本屬性湾宙,如高度、布局枝恋。

? ? ? ??注意:從大綱視圖中我們發(fā)現(xiàn)创倔,一個報表包含很多固定的面板。在每一個報表中標(biāo)題和匯總(summary)面板只打印一次焚碌,頁眉(header)和頁腳(footer)在報表的每一頁都會獨(dú)立打印畦攘。我們可以直接在field中新增、刪除字段十电,還可以將字段拖拽到報表的細(xì)節(jié)面板中知押,Jasper Studio將會為我們創(chuàng)建一個文本字段(text field)元素,并設(shè)置其值為對應(yīng)字段的數(shù)據(jù)鹃骂。文本字段不應(yīng)出現(xiàn)在除細(xì)節(jié)面板之外的其它地方台盯。

? ? ? ??下面,我們可以預(yù)覽報表了畏线。在JasperSoftStudio5.2中静盅,我們切換到預(yù)覽(Preview)視圖(點(diǎn)擊報表設(shè)計視圖左下角的“Preview“標(biāo)簽),即可編譯寝殴、生成蒿叠、并在報表設(shè)計視圖展示報表。至此蚣常,一個簡單的報表就展示在我們面前了:


我們可以看到市咽,最終的報表正如我們在報表設(shè)計器中看到的效果一樣,只不過Detail面板會根據(jù)數(shù)據(jù)量進(jìn)行擴(kuò)展抵蚊,數(shù)據(jù)源每查詢出一條記錄施绎,Detail面板就增加一行溯革。點(diǎn)擊報表預(yù)覽視圖右上角的Export按鈕,我們還可以選擇使用多種文件形式導(dǎo)出報表谷醉,包括pdf文件致稀、網(wǎng)頁文件、xls文件孤紧、cvs文件豺裆、甚至ppt等。

通過在Outline視圖任意節(jié)點(diǎn)右鍵菜單選擇“Dataset and Query…”号显,或在Outline視圖選中報表根節(jié)點(diǎn)臭猜,在右側(cè)Properties視圖選擇“Editquery, filter and sort option”菜單均可打開“Dataset and Query”窗口,在這里我們可以修改數(shù)據(jù)源使用的查詢語句押蚤,改變或者刪改報表中的字段(注意修改查詢語句之后蔑歌,需要點(diǎn)“Read Fields”重新讀取字段信息)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市揽碘,隨后出現(xiàn)的幾起案子次屠,更是在濱河造成了極大的恐慌,老刑警劉巖雳刺,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劫灶,死亡現(xiàn)場離奇詭異,居然都是意外死亡掖桦,警方通過查閱死者的電腦和手機(jī)本昏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枪汪,“玉大人涌穆,你說我怎么就攤上這事∪妇茫” “怎么了宿稀?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長赖捌。 經(jīng)常有香客問我祝沸,道長,這世上最難降的妖魔是什么越庇? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任奋隶,我火速辦了婚禮,結(jié)果婚禮上悦荒,老公的妹妹穿的比我還像新娘。我一直安慰自己嘹吨,他們只是感情好搬味,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般碰纬。 火紅的嫁衣襯著肌膚如雪萍聊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天悦析,我揣著相機(jī)與錄音寿桨,去河邊找鬼。 笑死强戴,一個胖子當(dāng)著我的面吹牛亭螟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播骑歹,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼预烙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了道媚?” 一聲冷哼從身側(cè)響起扁掸,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎最域,沒想到半個月后谴分,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡镀脂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年牺蹄,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狗热。...
    茶點(diǎn)故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡钞馁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出匿刮,到底是詐尸還是另有隱情僧凰,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布熟丸,位于F島的核電站训措,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏光羞。R本人自食惡果不足惜绩鸣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望纱兑。 院中可真熱鬧呀闻,春花似錦、人聲如沸潜慎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至垒手,卻和暖如春蒜焊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背科贬。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工泳梆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人榜掌。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓优妙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親唐责。 傳聞我的和親對象是個殘疾皇子鳞溉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內(nèi)容