您的位置:首页 > 编程语言 > Java开发

iReport 使用JavaBean作为数据源开发报表(SSM)

2017-12-07 15:22 711 查看
下载 iReport 工具、下载Jar包

iReport 工具如图所示:




Jar 包如图所示:


创建文件





选择 Blank A4 —-> Open this Template



命名后 下一步 完成

完成后如图所示



Title 处: 将 Static Text 拉入



按图设置参数







最终如上图所示:

导入必要Jar包



重要代码

@RequestMapping(params = "method=print")
public void print(HttpServletRequest request, HttpServletResponse response,ModelMap modelMap) throws ParsePropertyException, InvalidFormatException, IOException, JRException{
long starTime=System.currentTimeMillis();
logger.info("导出开始:"+starTime);
Map<String, Object> parameters=new HashMap<String, Object>();
List<Student> list = new ArrayList<Student>();
for (int i = 1; i < 10; i++) {
list.add(new Student(i , "studentName"+i, "school"+i));
}
JRDataSource jrDataSource = new JRBeanCollectionDataSource(list);
parameters.put("author", "admin");
try {
File file=new File("D:/reportDemo.jasper");

a168
ServletOutputStream ouputStream = null;
byte[] bytes = JasperRunManager.runReportToPdf(file.getPath(), parameters,jrDataSource);
response.reset();
response.setContentType("application/pdf");
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String pathName = formatter.format(currentTime)+".pdf";
response.setHeader("Content-Disposition", "attachment; filename=" +  pathName);
response.setContentLength(bytes.length);
ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
long endTime=System.currentTimeMillis();
logger.info("导出结束:"+endTime);
logger.info("导出共用时:"+(endTime-starTime));
} catch (ParsePropertyException e) {
e.printStackTrace();
}
}


PDF效果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: