简介
JasperReport使用模板+数据填充生成Pdf, 借助Jaspersoft Studio设计报表模板,
下载地址
https://community.jaspersoft.com/project/jaspersoft-studio/releases
ps:各个版本之间的区别没有详细研究,文章内使用6.20.0版本
我们先生成一个Pdf,再详细了解
-
创建模板jrxml
打开studio,点击File->New->Project先创建一个项目,选择第一个创建一个空项目,第二会下载许多样本,有时间的可以详细研究参考
-
在之前新建的项目上右键New->Jasper Report 选择A4空白模板, 点击finish
-
添加报表元素并设置获取参数的表达式,
拖动Text Field 到空白报表处
双击刚刚拖进去的元素,选中Parameters->REPORT_PARAMETERS_MAP->get(),输入参数名称 name
编译jrxml 生成jasper的二进制文件
4. 读取二进制文件,填充模板
maven 依赖
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.20.0</version>
</dependency>
代码
String filePath = "C:\\Users\\24954\\JaspersoftWorkspace\\MyReports\\four_column.jasper";
String deskTopPath = "C:\\Users\\24954\\Desktop\\four_column.jasper";
@Cleanup InputStream inputStream = Files.newInputStream(Paths.get(filePath));
HashMap<String, Object> parameters = new HashMap<>();
parameters.put("name","paramValue");
@Cleanup OutputStream outputStream = Files.newOutputStream(Paths.get("C:\\Users\\24954\\Desktop\\Blank_A4.pdf"));
JasperPrint jasperPrint = JasperFillManager.fillReport(inputStream, parameters, new JREmptyDataSource());
JasperExportManager.exportReportToPdfStream(jasperPrint, outputStream);
至此我们就可以生成一份pdf文件