|
@@ -9,6 +9,8 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import cn.tr.module.export.annotation.ExcelPropertySupport;
|
|
import cn.tr.module.export.annotation.ExcelPropertySupport;
|
|
|
import cn.tr.module.export.annotation.ExcelSelect;
|
|
import cn.tr.module.export.annotation.ExcelSelect;
|
|
|
import com.alibaba.excel.converters.Converter;
|
|
import com.alibaba.excel.converters.Converter;
|
|
|
|
|
+import com.alibaba.excel.enums.CellDataTypeEnum;
|
|
|
|
|
+import com.alibaba.excel.metadata.Cell;
|
|
|
import com.alibaba.excel.metadata.GlobalConfiguration;
|
|
import com.alibaba.excel.metadata.GlobalConfiguration;
|
|
|
import com.alibaba.excel.metadata.data.ReadCellData;
|
|
import com.alibaba.excel.metadata.data.ReadCellData;
|
|
|
import com.alibaba.excel.metadata.data.WriteCellData;
|
|
import com.alibaba.excel.metadata.data.WriteCellData;
|
|
@@ -31,11 +33,17 @@ public abstract class AbstractCascadeSelectConverter<T> implements Converter<T>
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public T convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
|
|
public T convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
|
|
|
- if(cellData==null||StrUtil.isEmpty(cellData.getStringValue())){
|
|
|
|
|
|
|
+ if(cellData==null||StrUtil.isEmpty(cellData.getStringValue())||ObjectUtil.isNull(cellData.getNumberValue())){
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
+ CellDataTypeEnum type = cellData.getType();
|
|
|
ExcelPropertySupport excelPropertySupport = contentProperty.getField().getAnnotation(ExcelPropertySupport.class);
|
|
ExcelPropertySupport excelPropertySupport = contentProperty.getField().getAnnotation(ExcelPropertySupport.class);
|
|
|
- String content = cellData.getStringValue();
|
|
|
|
|
|
|
+ String content = null;
|
|
|
|
|
+ if(CellDataTypeEnum.NUMBER.equals(type)){
|
|
|
|
|
+ content=String.valueOf(cellData.getNumberValue());
|
|
|
|
|
+ }else{
|
|
|
|
|
+ content=cellData.getStringValue();
|
|
|
|
|
+ }
|
|
|
//校验是否存在
|
|
//校验是否存在
|
|
|
T javaValue = excelConverterJavaValue(content,getSelectPairs(getParams(excelPropertySupport)));
|
|
T javaValue = excelConverterJavaValue(content,getSelectPairs(getParams(excelPropertySupport)));
|
|
|
if(ObjectUtil.isNull(javaValue)){
|
|
if(ObjectUtil.isNull(javaValue)){
|
|
@@ -48,6 +56,7 @@ public abstract class AbstractCascadeSelectConverter<T> implements Converter<T>
|
|
|
return javaValue;
|
|
return javaValue;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public WriteCellData<?> convertToExcelData(T value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
|
|
public WriteCellData<?> convertToExcelData(T value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
|
|
|
WriteCellData<String> cellData = new WriteCellData<>("");
|
|
WriteCellData<String> cellData = new WriteCellData<>("");
|