必威体育Betway必威体育官网
当前位置:首页 > IT技术

jasperreport报表工具在JAVA SSM框架中的使用

时间:2019-10-31 05:45:58来源:IT技术作者:seo实验室小编阅读:58次「手机版」
 

jasperreport

折腾了一天,终于是弄明白了一点报表工具的用法,借鉴的是youtube上的视频,非常感谢国外的大神,大神录的视频全程不说话,只是录了操作画面,我就照着视频理解敲代码,终于是完成了我所想的效果。

设计报表用的是 TIBCO Jaspersoft Studio,用这个生成jrxml文件,然后在项目中使用,我对报表工具的理解大概就是模块化显示一个pdf,所谓模块化大概就是像医院给的收据似的,各个已经有字段对齐从数据库里提取的字段,用于打印和显示。

毫无思路的我,先是自己查资料,咨询同事,各种尝试,终于在youtube上找到了我想要的教程

话不多说,先上代码

@controller
@requestMAPPing("/report")
public class ReportTest {
	@Autowired
	private AddressDao addressDao;

	@RequestMapping(value="/v2",method=RequestMethod.GET)
	public void  preTest(/*HttpServletRequest request,*/ HttpServletresponse response) {
		Address a1=addressDao.queryAddByID(2);
		try{
			List<Map<String,String>> datasource=new ArrayList<Map<String,String>>();;
			Map<String,String> m=new HashMap<String,String>();
			m.put("add_name", a1.getAddName());
			m.put("add_content", a1.getAddContent());
			m.put("add_phone_owner", a1.getAddPhoneOwner());
			m.put("add_phone_number",a1.getAddPhoneNumber());
			dataSource.add(m);
			JRDataSource jrDataSource=new JRBeanCollectionDataSource(dataSource);
			InputStream input=new fileinputstream(new File("L:/mygit/java/reporttest/src/main/webapp/WEB-INF/report/v1/DemoReport1.jrxml"));
			JasperReport jasperReport=JasperCompileManager.compileReport(input);
			Jasperprint jasperPrint=JasperFillManager.fillReport(jasperReport,null,jrDataSource);
			JasperExportManager.exportReportToPdfStream(jasperPrint,response.getoutputstream());
			response.getOutputStream().flush();
			response.getOutputStream().close();
		}catch(Exception e){
			e.printstacktrace();
		}
		return ;
	}
}

前面是形成一串二维数据,其中键名和jasper里的字段一致,接下来将这二维数据 用JRBeanCollectionDataSource保存,接下来读取jrxml文件,根将数据填写到jrxml文件里用JasperFillManager.fillReport 这个方法,填写后得到了JasperPrint,然后将这个参数输出到页面,页面的显示形式为PDF,而输出的方式是JasperExportManager.exportReportToPdfStream 这个方法,输出到response.getOutputStream()里,页面完成显示。清空缓冲器,关闭流。

其中报表文件的设计是决定文件显示是否美观的关键,读取时我使用的是绝对路径,在项目里我会使用相对路径。输出到页面的方式比较隐晦,导致我一直不是很理解,问了很多人,也困惑了很久。

在maven工程里引入依赖,是在https://mvnrepository.com/ 里搜到的,结果如下

<dependency>
		<groupId>net.sf.jasperreports</groupId>
		<artifactId>jasperreports</artifactId>
		<version>6.7.0</version>
</dependency>

总算完成了,其实还遇见了一个坑,就是Jaspersoft Studio不支持显示中文,解决办法是引入中文字体,具体操作CSDN里有很多人有解决办法,我就不转载了。

文章最后发布于: 2019-03-02 21:55:54

相关阅读

SAP与三大财务报表之 “损益表”

在上一篇博客中,我们介绍了资产负债表,通过资产负债表可以清晰地反映出一个企业的资产、负债情况,但经过一年的运营,这一家企业是赚钱

ireport的简单使用(数据表格)报表

如果出现ireport打不开的问题正常都是因为JDK版本太高了,百度下如何简单,很容易的首先:文件->new,选择Blank A4,Open this template2、

报表管理

 Excel 格式报表生成 POI POI 生成 Excel 步骤写 Excel 过程一样,新建 Excel 文档 -- 新建 Sheet  -- 新建 Row -- 新建 Cell

成本分析报表

最近做的一个成本分析的报表。 *&---------------------------------------------------------------------**& Report  ZCOXY00

JasperReport新手入门

1、JasperReport是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。该库完全由Java写成,可

分享到:

栏目导航

推荐阅读

热门阅读