easypoi 的使用

对poi进行了封装,简化代码量,提高开发效率,避免出现大数据量下效率低甚至可能出现内存溢出的情况

仓库地址:https://gitee.com/lemur/easypoi

maven依赖:

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

使用:
1.对需要用到的实体类字段添加注解@Excel
width设置宽度

在这里插入图片描述
日期可设置格式
在这里插入图片描述

2.导出
HSSF 03版本Excel .xls
XSSF 07版本Excel .xlsx

    @ApiOperation("导出数据")
    @GetMapping(value = "/export",produces = "application/octet-stream")
    public void exportEmp(HttpServletResponse response){
        //得到数据
        List<Employee> employeeList = employeeService.list();
        
        ExportParams params = new ExportParams("员工表", "员工表", ExcelType.HSSF);
        Workbook workbook = ExcelExportUtil.exportExcel(params, Employee.class, employeeList);
        ServletOutputStream outputStream=null;
        try {
            //流形式
            response.setHeader("content-type","application/octet-stream");
            //防止中文乱码
            response.setHeader("content-disposition","attachment;filename="+ URLEncoder.encode("员工表.xls","UTF-8"));
            outputStream = response.getOutputStream();
            workbook.write(outputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if (outputStream!=null){
                try {
                    outputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

3.导入

    @ApiOperation("导入数据")
    @PostMapping("/import")
    public ResultVo importEmp(MultipartFile file){
        ImportParams params = new ImportParams();
        //标题行
        params.setTitleRows(1);
        try {
            List<Employee> list = ExcelImportUtil.importExcel(file.getInputStream(), Employee.class, params);
            if (employeeService.saveBatch(list)){
                return ResultVo.success("导入成功");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return ResultVo.error("导入失败");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LeBron永鑫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值