Jasperreport連續(xù)打印多個(gè)報(bào)表模板,這個(gè)問(wèn)題一直困擾我很久。網(wǎng)上查了很多資料都沒(méi)有具體的解決辦法,通過(guò)查詢(xún)jasperreport的API發(fā)現(xiàn)提供了解決這個(gè)問(wèn)題的方法。以下是我的過(guò)程記錄:
問(wèn)題描述:一般報(bào)表設(shè)計(jì)和打印中,主要是對(duì)單個(gè)報(bào)表模板進(jìn)行數(shù)據(jù)填充、打印、導(dǎo)出。但是,也有個(gè)別情況需要連續(xù)打印多個(gè)報(bào)表模板。比如,政府機(jī)關(guān)的上報(bào)材料,屬于一個(gè)完整的文檔。如果一個(gè)一個(gè)模板打印會(huì)顯得非常麻煩。
問(wèn)題解決過(guò)程:一般我們導(dǎo)出報(bào)表文件是使用這個(gè)語(yǔ)句:
exporter.setParamete(JRExporterParameter.JASPER_PRINT, jasperprint);但是它是對(duì)單個(gè)模板進(jìn)行操作,通過(guò)查找jasperreport的API發(fā)現(xiàn)還提供了這樣一個(gè)語(yǔ)句:
exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperprint);可以連續(xù)對(duì)多個(gè)報(bào)表模板操作。它的方法是通過(guò)一個(gè)list來(lái)存儲(chǔ)多個(gè)JasperPrint對(duì)象,從而實(shí)現(xiàn)多個(gè)報(bào)表模板的打印。在我解決問(wèn)題的過(guò)程中發(fā)現(xiàn)導(dǎo)出PDF文件格式比較簡(jiǎn)單,但是導(dǎo)出WORD文檔時(shí)發(fā)現(xiàn)編碼格式出現(xiàn)問(wèn)題,老是出現(xiàn)亂碼。即使這樣: exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "GB2312");也沒(méi)有用。后來(lái)瀏覽一篇貼子:“導(dǎo)出excel時(shí)出現(xiàn)亂碼問(wèn)題”,和我的問(wèn)題差不多。終于大功告成!