欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springBoot整合easyPOI轻松实现Excel文件导出

程序员文章站 2024-03-21 20:21:22
...

首先吐槽以下!网上的很多经验要不就是缺信息,要不就是缺配置,反正总的来说,找了很久才实现的一个功能,今天分享给大家,让大家轻松完成导出Excel任务

非常感谢这位朋友的详细解答,最终实现了这个功能,朋友们可以去看看


 【工具篇】Excel文件导出从未如此简单——EasyPOI的使用


首先放下easyPOI文档    easyPOI文档

(1)用到的框架是easyPOI不知道的小伙伴可以去百度了解一下

maven导入依赖

    <!-- easyPOI -->
    <dependency>
      <groupId>cn.afterturn</groupId>
      <artifactId>easypoi-base</artifactId>
      <version>3.0.3</version>
    </dependency>
    <dependency>
      <groupId>cn.afterturn</groupId>
      <artifactId>easypoi-web</artifactId>
      <version>3.0.3</version>
    </dependency>
    <dependency>
      <groupId>cn.afterturn</groupId>
      <artifactId>easypoi-annotation</artifactId>
      <version>3.0.3</version>
    </dependency>

(2)相应的controller层配置(这里的业务主要交给service层进行操作)

 @RequestMapping(value = "exportStuInfoExcel")
   @ResponseBody
   public void exportStuInfoExcel(HttpServletResponse response){
        stuService.downExcel(response);
   }

(3)相应的service层配置

    public void downExcel(HttpServletResponse response){
        List<Student> list = getAllStu();    
        System.out.println(list.toString());
        //指定列表标题和工作表名称
        ExportParams params = new ExportParams("学生信息表","学生");
        Workbook workbook = ExcelExportUtil.exportExcel(params,Student.class,list);
        response.setHeader("content-Type","application/vnd.ms-excel");
        response.setHeader("Content-Disposition","attachment;filename="+System.currentTimeMillis()+".xls");
        response.setCharacterEncoding("UTF-8");
        try {
            workbook.write(response.getOutputStream());
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

上面的list是我自己创建的方法,也在service层内,可以直接调用

public List<Student> getAllStu(){
        return stuRepository.findAll();
    }

另外----上面的这个方法中的findAll()用的是JPA有兴趣的朋友可以去学习一下

(4)对应的jsp页面

<div><a href="/student/exportStuInfoExcel">导出Excel表格</a></div>