SpringBoot 实现Execl 导入导出

1、引包

 <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、导入样例 

 @ApiOperation(notes = "Excel业务导入", value = "Excel业务导入")
    @PostMapping("/businessFromExcel")
    public HttpResponse businessFromExcel(@RequestPart("file") MultipartFile file) throws Exception {
        ImportParams params = new ImportParams();
        params.setHeadRows(1);
        List<Business> list = ExcelImportUtil.importExcel(
                file.getInputStream(),
                Business.class, params);
        boolean result = businessService.insertBusiness(list);
        if(result){
            return new HttpResponse<>().success();
        }else{
            return new HttpResponse<>().error(500, "业务导入失败");
        }
    }

execl 样例

3、导出样例

 @ApiOperation(notes = "查询扩缩容导出Excel", value = "查询扩缩容导出Excel")
    @GetMapping("/resourceToExcel")
    public Object getScaleResourceToExcel(@RequestParam(name = "resourceType", required = false)  @ApiParam(value = "资源类型") String resourceType,
                                          @RequestParam(name = "status", required = false) @ApiParam(value = "状态") Integer status,
                                          @RequestParam(name = "startTime", required = false) @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiParam(value = "开始时间", format = "yyyy-MM-dd HH:mm:ss", example = "2024-01-01 10:10:10") Date startTime,
                                          @RequestParam(name = "endTime", required = false) @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiParam(value = "结束时间", format = "yyyy-MM-dd HH:mm:ss", example = "2024-01-01 10:10:10") Date endTime) throws IOException {
        List<Scale> list = scaleService.getScaleResourceList(resourceType, status,  startTime, endTime);

        ExportParams exportParams = new ExportParams();
        exportParams.setType(ExcelType.XSSF);
        Workbook workbook = ExcelExportUtil.exportExcel(exportParams, Scale.class, list);

        ByteArrayOutputStream byteOutputStream  = new ByteArrayOutputStream();
        workbook.write(byteOutputStream);
        Map dataBase64 = ImmutableMap.of("filename","扩缩容.xlsx","data", Base64.encodeBase64String(byteOutputStream.toByteArray()));
        return new HttpResponse<>().success(dataBase64);
    }

相关推荐

  1. springboot使用EasyExcel实现Excel导入导出

    2023-12-30 19:14:02       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-30 19:14:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-30 19:14:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-30 19:14:02       82 阅读
  4. Python语言-面向对象

    2023-12-30 19:14:02       91 阅读

热门阅读

  1. Python 变量:创建、类型、命名规则和作用域详解

    2023-12-30 19:14:02       64 阅读
  2. 微服务(2)

    2023-12-30 19:14:02       55 阅读
  3. Spring Boot应用程序中实现多态切换多数据源

    2023-12-30 19:14:02       62 阅读
  4. C++协程和线程的区别?详细介绍一下C++协程

    2023-12-30 19:14:02       65 阅读
  5. 解决生成的insert语句内有单引号的情况

    2023-12-30 19:14:02       56 阅读
  6. ceph之rados设计原理与实现:crush算法

    2023-12-30 19:14:02       61 阅读
  7. Kubernetes 网络架构

    2023-12-30 19:14:02       52 阅读
  8. Python中的函数

    2023-12-30 19:14:02       60 阅读
  9. Matlab实时读取串口数据并实时画图方法

    2023-12-30 19:14:02       65 阅读
  10. epoll并发编程

    2023-12-30 19:14:02       55 阅读