diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/read/listener/ModelBuildEventListener.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/listener/ModelBuildEventListener.java index fab5a7c6..2e820946 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/read/listener/ModelBuildEventListener.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/read/listener/ModelBuildEventListener.java @@ -56,11 +56,17 @@ public class ModelBuildEventListener implements IgnoreExceptionReadListener convertedReadCellData = convertReadCellData(cellData, context.readWorkbookHolder().getReadDefaultReturn(), readSheetHolder, context, key); if (readDefaultReturn == ReadDefaultReturnEnum.READ_CELL_DATA) { diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/util/ConverterUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/ConverterUtils.java index 6359a99d..6450c10f 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/util/ConverterUtils.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/util/ConverterUtils.java @@ -17,12 +17,14 @@ import com.alibaba.excel.metadata.data.CellData; import com.alibaba.excel.metadata.data.ReadCellData; import com.alibaba.excel.metadata.property.ExcelContentProperty; import com.alibaba.excel.read.metadata.holder.ReadSheetHolder; +import lombok.extern.slf4j.Slf4j; /** * Converting objects * * @author Jiaju Zhuang **/ +@Slf4j public class ConverterUtils { public static Class defaultClassGeneric = String.class; @@ -81,12 +83,24 @@ public class ConverterUtils { * @param columnIndex * @return */ - public static Object convertToJavaObject(ReadCellData cellData, Field field, + public static Object _convertToJavaObject(ReadCellData cellData, Field field, ExcelContentProperty contentProperty, Map> converterMap, AnalysisContext context, Integer rowIndex, Integer columnIndex) { return convertToJavaObject(cellData, field, null, null, contentProperty, converterMap, context, rowIndex, columnIndex); } + //eat exception, make the workflow continue not quite~ + public static Object convertToJavaObject(ReadCellData cellData, Field field, + ExcelContentProperty contentProperty, Map> converterMap, AnalysisContext context, + Integer rowIndex, Integer columnIndex) { + try { + return convertToJavaObject(cellData, field, null, null, contentProperty, converterMap, context, rowIndex, + columnIndex); + }catch (Exception ex){ + log.error("Failed ConvertToJavaObject, error:{}",ex); + } + return null; + } /** * Convert it into a Java object @@ -181,7 +195,11 @@ public class ConverterUtils { return converter.convertToJavaData(new ReadConverterContext<>(cellData, contentProperty, context)); } catch (Exception e) { throw new ExcelDataConvertException(rowIndex, columnIndex, cellData, contentProperty, - "Convert data " + cellData + " to " + clazz + " error ", e); + "Convert data " + toDebugString(cellData) + " to " + clazz + " error ", e); } } + private static String toDebugString(ReadCellData cellData){ + String buf = BeanMapUtils.create(cellData).toString(); + return buf; + } }