JasperReports入门教程(一):快速入门 | 您所在的位置:网站首页 › 报表视频教程怎么做 › JasperReports入门教程(一):快速入门 |
JasperReports入门教程(一):快速入门
背景
现在公司的项目需要实现一个可以配置的报表,以便快速的适应客户的需求变化。后来在网上查资料发现可以使用JasperReports + Jaspersoft Studio工具来实现可配置的报表。在使用过程中也积累了一些经验,就想分享出来给大家,作为一个入门的指引,让大家可以更快速的上手。下面大家跟着我一起来实现第一个JasperReports的报表应用。 JasperReports基本介绍JasperReports是一个非常强大,易用的开源报表引擎,它是用Java编写的。它可以通过各种各样的数据源来生成像素级的文档,这些文档都可以查看,打印以及导出(文档格式包括HTML、PDF、Excel、Word等等)。下面我们先尝试通过一个简单的demo进行上手。 Jaspersoft StudioJaspersoft Studio是一个设计报表模板的工具,我们通过它来设计需要使用报表的模板。 1.下载Jaspersoft Studio工具,选择下载Jaspersoft Studio CE 下载地址3.1.打开Jaspersoft Studio工具,点击File->New->Project先创建一个项目 然后填写项目名字为demo,创建一个名叫demo的项目 3.2.点击File->New->Jasper Report(也可以直接在demo项目上右键New->Jasper Report),选择一个竖向A4纸大小的模板 Data Adapter可以选择 One Empty Record 选项,即空数据源,完成后就创建好了第一个模板 5.1.先从右侧Basic Elements区域拖拽一个Static Text元素到Title区,可以任意调整元素的大小和位置,双击可以修改元素要显示的内容, 选中元素后,可以在右侧设置元素的边框,字体和大小,文本的对齐方式等等。 5.2.在左侧Outline区域Paramters上右键Create Paramter创建一个新的属性,命名为name,类型java.lang.String 5.3.拖拽name属性到Page Header区域,同样可以在右侧设置它的属性 5.4.在左侧Outline区域Fields上右键 Create Field创建两个字段Field1,Field2,类型java.lang.String 5.5.然后拖拽Field1,Field2字段到Detail1区域,会自动带出两个值为Field1,Field2的Static Text元素在Column Header区域,调整位置对齐 5.6.预览可以看看样式,因为此时我们未给Field1,Field2的数据集赋值,所以预览的为null 6.1.在左侧的Project Explorer框文件Blank_A4.jrxml上右键Compile Report可以生成编译好的文件Blank_A4.jasper 上面我们在设计器中设计好了报表的模板,下面我们需要在java中通过代码把数据填充到模板中,并展示出来。 7.1.首先需要在maven中引用jasperreports的jar包依赖 net.sf.jasperreports jasperreports 6.9.07.2.然后把6.1步骤中编译好的文件Blank_A4.jasper放入资源文件中 7.3.然后调用代码把数据填充到模板中,为了方便后续使用,我把JasperReport常用的方法封装到了JasperReportUtil类中 @GetMapping("/jasper") public void getReport(@RequestParam("type") String reportType, HttpServletResponse response) throws Exception { HashMap parameters = new HashMap(); parameters.put("name", "xiao ming"); List list = new ArrayList(); for (int i = 0; i < 100; i++) { HashMap item = new HashMap(); item.put("Field1", "Field1-" + i); item.put("Field2", "Field2-" + i); list.add(item); } String jasperPath = JasperReportUtil.getJasperFileDir("chapter1"); if (reportType.equals("pdf")) { JasperReportUtil.exportToPdf(jasperPath, parameters, list, response); } else if (reportType.equals("html")) { JasperReportUtil.exportToHtml(jasperPath, parameters, list, response); } }7.4.把项目运行起来,在浏览器中访问 http://localhost:8080/test/jasper?type=html 或者 http://localhost:8080/test/jasper?type=pdf 就可以在浏览器中看到html或者pdf格式的报表了
本节代码和报表模板 |
CopyRight 2018-2019 实验室设备网 版权所有 |