创建一个ireport的模板
首先我们得创建一个模板,但是创建模板之前,我们得先了解下Ireport的各个部位是干嘛的?
然后创建一个简单的模板
代码改动-在带你入门DEMO基础上
@ApiOperation("导出HelloPDF")
@RequestMapping(value = "/exportPdf", method = RequestMethod.GET)
public ResponseEntity<byte[]> exportPdf(HttpServletResponse response) throws Exception {
// 读取文件流
Resource resource = resolver.getResource("jasper/TestIreport.jasper");
Map<String,Object> params=new HashMap<String,Object>();
params.put("no", "BH20931239029");
// 进行调用模板
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
for (int i = 0; i < 200 ;i++) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", i);
map.put("name", "名字"+i);
map.put("address", "地址"+i);
list.add(map);
}
JasperPrint jasperPrint = JasperFillManager.fillReport(resource.getInputStream(), params,
new JRBeanCollectionDataSource(list));
byte[] body = jasperExportManager.exportToPdf(jasperPrint);
HttpHeaders header=new HttpHeaders();
header.setContentType((MediaType.parseMediaType("application/pdf")));
header.add("Content-Disposition", "inline;filename=hello.pdf");
return new ResponseEntity<byte[]>(body, header, HttpStatus.OK);
}