基于Springboot 的 Excel表格的导入导出

首先 ,引入相关依赖EasyPOI

        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-spring-boot-starter</artifactId>
            <version>4.4.0</version>
        </dependency>

编写实体类: 

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Integer id;
    private String username;
    private String password;
    private String email;
    private Integer age;
    private String phone;
    private Integer isDeleted;
}

 编写控制类UserController:

@RestController
public class UserController {
    @SneakyThrows
    @GetMapping("export")
    public void exportExcel(HttpServletResponse response){
        List<User> list = new ArrayList<>();
        list.add(new User(1,"zhangsan","aaa","28181@163.com",18,"13256564454",1));
        list.add(new User(2,"lisi","aaa","28181@163.com",28,"18456234454",0));
        list.add(new User(3,"Wangwu","aaa","28181@163.com",38,"18423564454",1));
        list.add(new User(4,"mazi","aaa","28181@163.com",15,"18456564454",1));

        // 传入表头和表名
        ExportParams exportParams = new ExportParams("员工信息表","员工表");
        Workbook sheets = ExcelExportUtil.exportExcel(exportParams,User.class,list);

        //设置响应输出的类型为excel
        response.setContentType("application/vnd.ms-excel");
        //设置相应的文件名

        String filename = UUID.randomUUID() + ".xlsx";
        response.setHeader("Content-disposition","attachment;filename="+ new String(filename.getBytes("utf-8"),"iso8859-1"));

        sheets.write(response.getOutputStream());
    }
}

实现导出元素:

现在进行导入操作:

    @SneakyThrows
    @PostMapping("import")
    public AjaxResult importExcel(@RequestParam(value = "file") MultipartFile file){
        ImportParams params = new ImportParams();
        params.setTitleRows(1);// 标题行数
        params.setHeadRows(1); // 列名行数

        List<User> list = ExcelImportUtil.importExcel(file.getInputStream(), User.class, params);

        list.forEach(System.out::println);
        return success();
    }

使用postman进行导入测试:

导入的表格元素入下所示: 

 

控制台打印结果: 

 

相关推荐

  1. Excel 导入导出封装

    2024-05-01 21:36:01       20 阅读
  2. 通过easyExcel实现表格导入导出

    2024-05-01 21:36:01       28 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-01 21:36:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-01 21:36:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-01 21:36:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-01 21:36:01       20 阅读

热门阅读

  1. 情商测试的新浪潮:如何准确评估个人情商?

    2024-05-01 21:36:01       10 阅读
  2. SGP.31-10

    2024-05-01 21:36:01       8 阅读
  3. ES基础查询,term级参数介绍

    2024-05-01 21:36:01       11 阅读
  4. DOM事件

    DOM事件

    2024-05-01 21:36:01      11 阅读
  5. 为什么MySQL使用B+树而不是跳表

    2024-05-01 21:36:01       9 阅读
  6. Ansible playbook之变量引用

    2024-05-01 21:36:01       10 阅读
  7. 聊聊服务器散热方案的演进

    2024-05-01 21:36:01       12 阅读
  8. 第15届蓝桥杯-蒟蒻の反思与总结

    2024-05-01 21:36:01       34 阅读
  9. Python实现的人脸识别系统

    2024-05-01 21:36:01       11 阅读
  10. pnpm设置全局存储路径

    2024-05-01 21:36:01       13 阅读
  11. 第三题——LCP 07. 传递信息

    2024-05-01 21:36:01       25 阅读
  12. 抽象类和接口的区别你知道吗

    2024-05-01 21:36:01       14 阅读