package cn.iocoder.yudao.framework.excel.core.convert;
|
|
import cn.hutool.core.util.StrUtil;
|
import cn.idev.excel.metadata.GlobalConfiguration;
|
import cn.idev.excel.enums.CellDataTypeEnum;
|
import cn.idev.excel.metadata.data.ReadCellData;
|
import cn.idev.excel.metadata.property.ExcelContentProperty;
|
|
/** 导入字典时拒绝未知值,避免无效值被当成空值并套用默认状态。 */
|
public class StrictDictConvert extends DictConvert {
|
@Override
|
public Object convertToJavaData(ReadCellData data, ExcelContentProperty property, GlobalConfiguration configuration) {
|
Object value = super.convertToJavaData(data, property, configuration);
|
if (value == null && (StrUtil.isNotBlank(data.getStringValue())
|
|| data.getType() == CellDataTypeEnum.NUMBER || data.getType() == CellDataTypeEnum.BOOLEAN)) {
|
throw new IllegalArgumentException("字典值无法识别,请使用模板中的有效选项");
|
}
|
return value;
|
}
|
}
|