-
Notifications
You must be signed in to change notification settings - Fork 325
写入自定义转化
清沐 edited this page Sep 25, 2021
·
2 revisions
该功能仅针对DefaultExcelBuilder、DefaultStreamExcelBuilder。
导出经常遇到的一个场景:导出数据包含可枚举字段,如性别,存储在数据库中以0、1,导出为男、女。
@ExcelColumn(title="性别",mapping="0:男,1:女")
Integer gender;
使用 mapping
属性,以 ,
分隔成组,每组以 :
分隔,需要注意的是,该属性仅支持简单映射,不支持含有:
,,
特殊字符的映射
存在部分场景,如需要读取数据库来决定转化,则简单映射无法满足,此时需要自定义转化,步骤如下:
// 1.实现com.github.liaochong.myexcel.core.converter.CustomWriteConverter接口
public class DefaultCustomWriteConverter implements CustomWriteConverter<Object, Object> {
// 支持Spring
@Autowired
private MyConverter myConverter;
@Override
public Object convert(Object originalData, CustomWriteContext customWriteContext) {
return originalData;
}
}
// 2.使用注解
@ExcelColumn(writeConverter = DefaultCustomWriteConverter.class)
// 3.如使用了spring等,则需要绑定上下文,如无,则无需使用binding
@Autowired
private DefaultCustomWriteConverter defaultCustomWriteConverter;
DefaultStreamExcelBuilder.of(CommonPeople.class).binding(defaultCustomWriteConverter).start();
-
Overview
概述 -
FAQ
常见问题 -
Dependency adding
依赖添加 -
Excel/Csv import
Excel/Csv导入 - 一对多导入
-
Excel default export
默认导出 -
Excel streaming export
流式导出 -
Dynamic export
动态导出 -
Excel template build
模板构建 -
CSV export
csv导出 -
Multiple sheet import
多sheet导入 -
Multiple sheet export
多sheet导出 - 聚合列&聚合导出
-
Custom style
自定义样式 -
Multilevel header
多级表头 -
Wrap within cell
单元格内换行 -
Image export
图片导出 -
Image import
图片导入 -
Hyperlink
链接 - 读取链接
-
Template row height setting
模板行高度设置 -
Drop-down-list
下拉列表 -
Custom convert
写入自定义转化 -
Formula usage
公式使用 -
Template cell setting
单元格设置 -
Header freeze
区域冻结 - 提示
-
Style support
样式支持 - 添加水印
- 按列读取
- 单元格斜线绘制
- 设置批注
- 版本日志