iReport入门DEMO,带你快速入门
由于最近系统中要做报表,所以使用到了Ireport来制作报表.我就不再介绍Ireport是干嘛的了.下面我将用SpringBoot整合Ireport的一个入门Demo来告诉你们在项目中怎么使用iReport导出pdf文件.
-
创建一个maven项目
-
Pom.xml配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.hjy</groupId>
<artifactId>springBoot-IreportDemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<dependencies>
<!-- 添加SpringBoot-web的依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--导入iReport的包 -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.0.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.11</version>
</dependency>
</dependencies>
</project>
-
编写一个简单的hello.jrxml
-
导入到项目中去
-
编写Controller
@RestController
public class HelloController {
/**
* 导入为PDF
* @return
* @throws Exception
*/
@RequestMapping(value="/exportPdf")
public ResponseEntity<byte[]> exportPdf() throws Exception{
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource resource = resolver.getResource("jasper/HelloReport.jasper");
JasperPrint jasperPrint=JasperFillManager.fillReport(resource.getInputStream(), null,new JREmptyDataSource());
byte[] body = JasperExportManager.exportReportToPdf(jasperPrint);
HttpHeaders header=new HttpHeaders();
header.setContentType(MediaType.APPLICATION_PDF);
header.add("Content-Disposition", "inline;filename=hello.pdf");
return new ResponseEntity<byte[]>(body, header, HttpStatus.OK);
}
}
-
启动SpringBoot项目
@SpringBootApplication(scanBasePackages="com.hjy")
public class App {
public static void main(String[] args) throws Exception {
SpringApplication.run(App.class, args);
}
}
-
项目目录结构
-
访问PDF