iReport入门DEMO,带你快速入门

     由于最近系统中要做报表,所以使用到了Ireport来制作报表.我就不再介绍Ireport是干嘛的了.下面我将用SpringBoot整合Ireport的一个入门Demo来告诉你们在项目中怎么使用iReport导出pdf文件.

 

  • 创建一个maven项目

iReport入门DEMO,带你快速入门

  • 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

iReport入门DEMO,带你快速入门

  • 导入到项目中去

iReport入门DEMO,带你快速入门

  • 编写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);

  }

}


  • 项目目录结构

iReport入门DEMO,带你快速入门

  • 访问PDF

iReport入门DEMO,带你快速入门