JasperReports实现pdf报表导出小例子
2020-07-20 04:22
1496 查看
个人在使用 JasperReports的时候,尝试了两种填充数据的方式
一、使用Javabean的方式写入数据
1、创建maven工程,导入JasperReports的maven坐标
[code]<dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports</artifactId> <version>6.8.0</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency>
2、将提前准备好的jrxml文件复制到maven工程中(可以使用TIBCO Jaspersoft Studio-6.9.0来创造新模板)
3、编写单元测试,输出PDF报表
[code]String jrxmlPath = "G:\\IDEA_Projects\\Spring\\wang_springMyBatis_day02\\src\\main\\resources\\jrxml\\demo2.jrxml"; String jasperPath = "G:\\IDEA_Projects\\Spring\\wang_springMyBatis_day02\\src\\main\\resources\\jrxml\\demo2.jasper"; JasperCompileManager.compileReportToFile(jrxmlPath,jasperPath); Map<String, Object> map = new HashMap<>(); map.put("reportDate","2018-10-11"); map.put("company","ceshi"); List<Map> list = new ArrayList(); Map map1 = new HashMap(); map1.put("name","xiaoming"); map1.put("address","beijing"); map1.put("email","xiaoming@163.com"); Map map2 = new HashMap(); map2.put("name","xiaoli"); map2.put("address","nanjing"); map2.put("email","xiaoli@163.con"); list.add(map1); list.add(map2); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperPath, map, new JRBeanCollectionDataSource(list)); String pdfPath = "C:\\Users\\wang\\Desktop\\test.pdf"; JasperExportManager.exportReportToPdfFile(jasperPrint,pdfPath);
二、使用数据源的方式写入数据
1、创建maven工程,导入JasperReports的maven坐标
[code]<dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports</artifactId> <version>6.8.0</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency>
2、将提前准备好的jrxml文件复制到maven工程中(可以使用TIBCO Jaspersoft Studio-6.9.0来创造新模板)
3、编写单元测试,输出PDF报表
[code]Class.forName("com.mysql.jdbc.Driver"); Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/health","root","root"); String jrxmlPath = "G:\IDEA_Projects\Spring\wang_springMyBatis_day02\src\main\resources\jrxml\demo1.jrxml"; String jasperPath = "G:\IDEA_Projects\Spring\wang_springMyBatis_day02\src\main\resources\jrxml\demo1.jasper"; //模板编译,编译为后缀为jasper的二进制文件 JasperCompileManager.compileReportToFile(jrxmlPath,jasperPath); //为模板文件准备数据,用于最终的PDF文件数据填充 Map map = new HashMap(); map.put("company","家里蹲"); //填充数据 JasperPrint jasperPrint = JasperFillManager.fillReport(jasperPath,map,connection); //输出文件 String pdfPath = "D:\\test.pdf"; JasperExportManager.exportReportToPdfFile(jasperPrint,pdfPath);
通过上面的操作步骤可以输出pdf文件,但是中文的地方无法正常显示。这是因为JasperReports默认情 况下对中文支持并不友好,需要我们自己进行修复。具体操作步骤如下:
1、在Jaspersoft Studio中打开demo1.jrxml文件,选中中文相关元素,统一将字体设置为“华文宋体”并 将修改后的demo1.jrxml重新复制到maven工程中
2、将下述链接的解决中文无法显示问题中的文件复制到maven工程的resources目录中
https://download.csdn.net/download/qq_41048852/12556139
相关文章推荐
- Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表
- 用ireport设计报表,通过jasper实现pdf导出及打印
- Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表
- 使用jfreechart和itext实现导出报表和表格到pdf文档
- 使用jasperreports制作报表(导出pdf excel html)
- Jasperreports以及iReport4.5报表PDF导出字体完美解决方案
- jasperreport实现Html、Pdf、Rtf、Excel、Xml报表导出
- jasperreports制作报表(导出pdf excel html)
- 水晶报表导出为pdf, word , excel 格式(已经测试过,实现了该功能)
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- 水晶报表导出为pdf, word , excel 格式(已经测试过,实现了该功能)
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- jasperreports制作报表(导出pdf excel html)
- 借助于jasperreports与jfreechart以xls,html,pdf格式导出报表
- iText的使用例子说明(利用Itext画模板导出word、pdf,纯java实现)
- jasperreport实现Html、Pdf、Rtf、 Excel、Xml报表导出
- 水晶报表导出为pdf, word , excel 格式(已经测试过,实现了该功能)
- 水晶报表导出数据并实现打印
- 控制水晶报表只能导出PDF
- php实现pdf导出和打印功能。