Easyexcel(1-注解使用)

相关文章链接:

  1. Easyexcel(1-注解使用)

版本依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.3.3</version>
</dependency>

@ExcelProperty

指定当前字段对应excel中的那一列,可以根据名字或者Index去匹配,当然也可以不写。

  1. value:指定写入的列头,如果不指定则使用成员变量的名字作为列头;如果要设置复杂的头,可以为value指定多个值
  2. order:优先级高于value,会根据order的顺序来匹配实体和excel中数据的顺序
  3. index:优先级高于value和order,指定写到第几列,如果不指定则根据成员变量位置排序;默认第一个字段就是index=0
  4. converter:指定当前字段用什么转换器,默认会自动选择。可以用来设置类型转换器,需要实现Converter接口

value

指定属性名

@Data
public class User {
   
   

    private Integer userId;

    private String name;

    private String phone;

    private String email;

    private Date createTime;
}
@RestController
public class TestController {
   
   

    @GetMapping("/test1")
    public void test1(HttpServletResponse response) {
   
   
        try {
   
   
            response.setContentType("application/vnd.ms-excel");
            response.setCharacterEncoding("utf-8");
            String fileName = URLEncoder.encode("test1", "UTF-8").replaceAll("\\+", "%20");
            response.setHeader("Content-disposition", "attachment;filename" + fileName + ".xls");

            User user = new User();
            user.setUserId(123);
            user.setName("as");
            user.setPhone("15213");
            user.setEmail("5456");
            user.setCreateTime(13213L);
            EasyExcel.write(response.getOutputStream(), User.class)
                    .sheet("test")
                    .doWrite(Arrays.asList(user));
        } catch (Exception e) {
   
   
            e.printStackTrace();
        }
    }
}

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

默认情况下,使用类的属性名作为Excel的列表,当然也可以使用@ExcelProperty 注解来重新指定属性名称。

@Data
public class User {
   
   
    @ExcelProperty(value = "用户Id")
    private Integer userId;
    
    @ExcelProperty(value = "姓名")
    private String name;
    
    @ExcelProperty(value = "手机")
    private String phone;
    
    @ExcelProperty(value = "邮箱")
    private String email;
    
    @ExcelProperty(value = "创建时间")
    private Date createTime;
}

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

表头合并

value在写的时候,如果指定了多个值,会自动进行合并

@Data
public class User {
   
   
    @ExcelProperty(value = "用户Id")
    private Integer userId;
    
    @ExcelProperty(value = {
   
   "用户基本信息", "姓名"})
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值