alibaba的easyExel常用注解介绍
easyExcel官网入口
常见的业务场景是导出某某数据,一般会有2种实现,第一种实现写excel方式,就是代码创建excel,设置单元格属性,设置单元格的值;第二种是使用填充excel方式,个人比较喜欢这种,不用去设置execel的样式,什么表头字体20,加粗,设置单元格样式是文本,数字,小数位等,直接在模板中写好,代码只需要关注填充的数据即可。
介绍第一种的写excel的情况下,简单的通过注解来设置单元格样式
- 注解如下
@DateTimeFormat("yyyy年MM月dd日HH时mm分ss秒") 日期格式化注解
@NumberFormat("#.##%") 数字格式化注解
@ExcelProperty(value = "序号", order = 1) 匹配excel和实体类字段
@ExcelIgnoreUnannotated 忽略实体中没有注解ExcelProperty的字段不生成excel字段
@ExcelIgnore 忽略该字段,不生成excel字段
@HeadStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT) 设置列头样式
@HeadFontStyle(fontHeightInPoints = 10) 设置列头字体相关样式
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT) 设置内容样式
@ContentFontStyle(fontHeightInPoints = 10) 设置内容字体样式
@ContentRowHeight(10) 设置内容行高
@HeadRowHeight(20) 设置列头行高
@ColumnWidth(25) 设置列字段宽
@ContentLoopMerge(eachRow = 2) 单前列每隔两行合并一次单元格
- 个别注解内容介绍,@HeadFontStyle和@ContentFontStyle属性
| 属性 | 描述 |
|---|---|
| fontName | 字体名称 |
| fontHeightInPoints | 字体大小 |
| italic | 是否倾斜 |
| strikeout | 是否设置删除水平线 |
| color | 字体颜色 |
| typeOffset | 偏移量 |
| underline | 是否添加下划线 |
| bold | 是否加粗 |
| charset | 编码格式 |
- 个别注解内容介绍,@HeadStyle和@ContentStyle属性
| 属性 | 描述 |
|---|---|
| dataFormat | 数据格式 |
| hidden | 是否隐藏 |
| locked | 是否锁定 |
| quotePrefix | 是否增加单元内容前缀 |
| horizontalAlignment | 设置水平方向 |
| verticalAlignment | 设置垂直方向 |
| wrapped | 是否文本换行 |
| rotation | 旋转角度,03版本的Excel旋转角度区间为-90°90°,07版本的Excel旋转角度区间为0°180° |
| indent | 文件缩进空格数 |
| borderLeft | 设置左边框样式 |
| borderRight | 设置右边框样式 |
| borderTop | 设置上边框样式 |
| borderBottom | 设置下边框样式 |
| leftBorderColor | 设置左边框颜色 |
| rightBorderColor | 设置右边框颜色 |
| topBorderColor | 设置上边框颜色 |
| bottomBorderColor | 设置下边框颜色 |
| fillPatternType | 设置单元格填充 |
| fillBackgroundColor | 设置填充背景颜色,配合fillPatternType使用 |
| fillForegroundColor | 设置填充前景颜色,配合fillPatternType使用 |
| shrinkToFit | 设置单元格是否自适应大小 |
fillPatternType的枚举值示例(这里参考了附录1——单元格设置背景色,FillPattern枚举效果_fillpatterntype-CSDN博客)
- 源码的注解位置
这里只是简单介绍使用,实际项目中使用还得根据业务需求选择方式实现,不懂的建议优先官网文档查看,其次看看源码,最后再去看别人的博客,时间充裕情况下,避免拿来主义,非得把饭喂到你嘴里,也得自己嚼一嚼,才能把知识点吸收。
纸上得来终觉浅,看书百遍不如自己操作一遍