对EasyExcel的常用注解的详细介绍

通过下表简单介绍一些使用过的注解,内容并不全面

注解

说明

@ColumnWidth(15)控制行的宽度,用在class上代表所有单元格的宽度,用在属性上代表当前列的宽度
@ContentRowHeight(25)控制内容的高度,用在class上代表所有单元格的宽度,用在属性上代表当前列的宽度
@HeadRowHeight(20)控制标题的高度
@ExcelIgnore导出时忽略该属性,默认是导出全部的属性,无论属性上写没写@ExcelProperty
@ExcelIgnoreUnannotated在类上使用该注解,忽略所有未添加@ExcelProperty的属性

注解相关子属性说明
@ContentStyle设置导出时的单元格格式,可用在class上也可用在属性上
horizontalAlignment使用HorizontalAlignmentEnum.CENTER时,意味着水平居中
verticalAlignment使用VerticalAlignmentEnum.CENTER时,意味着垂直居中
indent缩进
locked是否冻结
hidden是否隐藏
dataFormat数据格式
rotation旋转角度,用于图片
quotePrefix是否引用前缀(没用过)
wrapped

控制数据的包装是否直接应用,默认为null,不应用,

例如单元格内换行,如果改值不设置为true,需要双击单元格才能换行

@ContentFontStyle设置导出时的文本格式
underline下划线,具体值可以参考org.apache.poi.ss.usermodel.FontUnderline的值,但不能直接引用
color颜色,具体值可以参考org.apache.poi.ss.usermodel.IndexedColors的值,但不能直接引用
bold是否加粗
strikeout是否加删除线
fontName字体类型(宋体、微软雅黑...)
italic是否斜体
fontHeightInPoints字体高度
@ExcelProperty标识导出或导入时,该属性为有效列
value代表Excel的首行标题名称,标题名称相同且相邻的话,标题会自动合并
order排序,数值越小越靠前
index指定列号
converter在遇到复杂数据时,可自定义处理工具,然后在该属性的位置加入自定义处理工具XxxxConverter.class自定义处理工具需要实现接口Converter<T>
@DateTimeFormat
value时间类型转为字符串格式。值可为:yyyy-MM-dd HH:mm:ss

简单举例自定义处理接口

@ExcelProperty(value = "自定义标题名", order = 1, converter = CustomStringConverter.class)

private String customTitle;


public class CustomStringConverter implements Converter<String> {
    @Override
    public Class<?> supportJavaTypeKey() {
        return String.class;
    }

    @Override
    public CellDataTypeEnum supportExcelTypeKey() {
        return CellDataTypeEnum.STRING;
    }

    /**
     * 这里读的时候会调用
     *
     * @param context
     * @return
     */
    @Override
    public String convertToJavaData(ReadConverterContext<?> context) {
        return "自定义:" + context.getReadCellData().getStringValue();
    }

    /**
     * 这里写的时候会调用
     * @return
     */
    @Override
    public WriteCellData<?> convertToExcelData(WriteConverterContext<String> context) {
        String stringValue = context.getValue();
        if (stringValue==null || stringValue.isEmpty()){
            stringValue = "这是一个空值";
        }
        return new WriteCellData<>(stringValue);
    }

}

详情请参考官方文档:关于Easyexcel | Easy Excel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值