ireport 循环_ireport5.6.0分组显示
一,ireport中分組
二,java調(diào)用實現(xiàn)分組
一,ireport中分組:
1,新建模板文件,紙張隨意,名稱隨意,路徑隨意
2,連接要分組的數(shù)據(jù)源
3,添加測試表和數(shù)據(jù)
CREATE TABLEyananTest (
departIdINT,
departNameVARCHAR (20),
stuNameVARCHAR (20)
)GO
INSERT INTO yananTest VALUES(1,'開發(fā)部','張亞南'),(1,'開發(fā)部','隨意'),(2,'實施部','實施1'),(2,'實施部','實施2'),(2,'實施部','實施3'),(3,'銷售部','銷售1')GO
View Code
4編寫sql查詢數(shù)據(jù)
勾選自動提取字段或點擊讀取字段,能出來藍色行表示查詢無誤。點擊ok,確定后在左側(cè)Fields字段自動出現(xiàn)藍色行的字段
5,右擊報表點擊add report group
groupname隨意,選擇departId,departId是要分組的依據(jù)
下一步中的 group header footer根據(jù)自己實際情況,此處為了展示都要
確定后detail1前后會加上分組header和footer
6拖動departName到header欄,stuName到detail1欄,footer隨便加一條橫線
如果組件面板不顯示的話在窗口中點擊組件面板即可
拖動后為了美觀好看可以調(diào)整header、footer、detail1欄的邊界線調(diào)整下高度
大功告成,點擊預覽
二,java調(diào)用實現(xiàn)分組
我的第一思路是,刪除sql語句在Fields中添加字段,java中傳參,行不通,因為調(diào)用的時候,Fields是接收不到java的傳參的。我的第二思路是在Parameters中建立這幾個字段,然后傳參,仍然行不通,因為分組只能是字段(有待進一步研究),傳參是集合。我的第三想法是添加dataset,進行分組,嗚嗚,初接觸我還不會,等以后確定了再補上。最后千辛萬苦終于找到方法
sql語句不變,java傳數(shù)據(jù)庫連接
方法如下:
將上述report1.jrxml編譯后將生成的report1.jasper文件copy到項目指定目錄下,我的是目錄是i根目錄下的report
實現(xiàn)如下代碼
@RequestMapping("/test")
@ResponseBodypublic void test(HttpServletRequest req,HttpServletResponse res) throwsException{
Map map = new HashMap();
String realPath= ClassUtils.getDefaultClassLoader().getResource("").getPath();//項目根目錄。該處是springboot方式
ServletContext context =req.getSession().getServletContext();
WebApplicationContext wac=WebApplicationContextUtils.getRequiredWebApplicationContext(context);
DataSource dbSource= (DataSource) wac.getBean("dataSource"); //配置文件里的beanid
Connection conn =dbSource.getConnection();byte[] bytes = JasperRunManager.runReportToPdf(realPath + "ireport/report1.jasper", map, conn);
res.setContentType("application/pdf");
res.setContentLength(bytes.length);
ServletOutputStream out=res.getOutputStream();
out.write(bytes,0, bytes.length);
out.flush();
out.close();
}
View Code
啟動項目訪問即可出現(xiàn)步驟一6中的pdf頁面部分。如果中文不顯示,參考之前的文章@ireport初接觸
至于java中使用ireport詳細說明,參考下一篇文章
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的ireport 循环_ireport5.6.0分组显示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue的双向绑定原理及实现
- 下一篇: Vue实现组件props双向绑定解决方案