0
点赞
收藏
分享

微信扫一扫

Java+easypoi 简单模板导出

boomwu 2022-04-21 阅读 75
javaEasyPOI

Java+easypoi 简单模板导出

1.新建一个springboot项目

2.pom.xml

<!--EasyPoi-->
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>4.1.0</version>
            <exclusions>
                <exclusion>
                    <artifactId>guava</artifactId>
                    <groupId>com.google.guava</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-web</artifactId>
            <version>4.1.0</version> </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-annotation</artifactId>
            <version>4.1.0</version>
        </dependency>

3.新建需要导出的实体类

import lombok.Data;

/**
 *
 */
@Data
public class Student {

    private String id;

    private String name;
}

4.新建一个studentList.xls表格模板
在这里插入图片描述
5.将模板放入项目中,放在目录 template/ 下
在这里插入图片描述

6.新建controller

@RestController
public class ProviderController {
    @PostMapping("/exportToExcel")
    public void exportToExcel(HttpServletResponse response) {
        List<Student> list =new ArrayList<>();
        Student student=new Student();
        Student student2=new Student();
        student.setId("1001");
        student.setName("狄欧苏");
        student2.setId("1002");
        student2.setName("酸豆角了");
        list.add(student);
        list.add(student2);
        
        String TemplateName="studentList";
        TemplateExportParams templateExportParams = new TemplateExportParams("template/"+TemplateName+".xls");
        Map<String, Object> map = new HashMap<>(8);
        map.put("list", list);
        Workbook workbook = ExcelExportUtil.exportExcel(templateExportParams, map);
        // 设置请求头
        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("utf-8");
        String fileName = TemplateName+System.currentTimeMillis()+".xlsx";
        response.setHeader("Content-disposition", "attachment;filename=" + fileName );
        try (ServletOutputStream outputStream = response.getOutputStream()){
            workbook.write(outputStream);
        } catch (IOException e) {
            log.warn("导出失败: {}", e.getMessage());
        }
    }
}

7.运行项目
在这里插入图片描述

8.使用postman发送post请求
在这里插入图片描述

9.导出成功

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

举报

相关推荐

0 条评论