org.jeecgframework.poi.exception.excel.ExcelImportException Java Examples

The following examples show how to use org.jeecgframework.poi.exception.excel.ExcelImportException. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SaxRowRead.java    From easypoi with Apache License 2.0 6 votes vote down vote up
@Override
public void parse(int index, List<SaxReadCellEntity> datas) {
    try {
        if (datas == null || datas.size() == 0) {
            return;
        }
        //标题行跳过
        if (index < params.getTitleRows()) {
            return;
        }
        //表头行
        if (index < params.getTitleRows() + params.getHeadRows()) {
            addHeadData(datas);
        } else {
            addListData(datas);
        }
    } catch (Exception e) {
        LOGGER.error(e.getMessage(), e);
        throw new ExcelImportException(e.getMessage());
    }
}
 
Example #2
Source File: SaxRowRead.java    From autopoi with Apache License 2.0 6 votes vote down vote up
@Override
public void parse(int index, List<SaxReadCellEntity> datas) {
	try {
		if (datas == null || datas.size() == 0) {
			return;
		}
		// 标题行跳过
		if (index < params.getTitleRows()) {
			return;
		}
		// 表头行
		if (index < params.getTitleRows() + params.getHeadRows()) {
			addHeadData(datas);
		} else {
			addListData(datas);
		}
	} catch (Exception e) {
		LOGGER.error(e.getMessage(), e);
		throw new ExcelImportException(e.getMessage());
	}
}
 
Example #3
Source File: ExcelImportServer.java    From jeasypoi with Apache License 2.0 6 votes vote down vote up
/**
 * 保存字段值(获取值,校验值,追加错误信息)
 * 
 * @param params
 * @param object
 * @param cell
 * @param excelParams
 * @param titleString
 * @param row
 * @throws Exception
 */
private void saveFieldValue(ImportParams params, Object object, Cell cell, Map<String, ExcelImportEntity> excelParams, String titleString, Row row) throws Exception {
	Object value = cellValueServer.getValue(params.getDataHanlder(), object, cell, excelParams, titleString);
	if (object instanceof Map) {
		if (params.getDataHanlder() != null) {
			params.getDataHanlder().setMapValue((Map) object, titleString, value);
		} else {
			((Map) object).put(titleString, value);
		}
	} else {
		ExcelVerifyHanlderResult verifyResult = verifyHandlerServer.verifyData(object, value, titleString, excelParams.get(titleString).getVerify(), params.getVerifyHanlder());
		if (verifyResult.isSuccess()) {
			setValues(excelParams.get(titleString), object, value);
		} else {
			Cell errorCell = row.createCell(row.getLastCellNum());
			errorCell.setCellValue(verifyResult.getMsg());
			errorCell.setCellStyle(errorCellStyle);
			verfiyFail = true;
			throw new ExcelImportException(ExcelImportEnum.VERIFY_ERROR);
		}
	}
}
 
Example #4
Source File: ExcelImportServer.java    From easypoi with Apache License 2.0 6 votes vote down vote up
/**
 * 保存字段值(获取值,校验值,追加错误信息)
 * 
 * @param params
 * @param object
 * @param cell
 * @param excelParams
 * @param titleString
 * @param row
 * @throws Exception
 */
private void saveFieldValue(ImportParams params, Object object, Cell cell,
                            Map<String, ExcelImportEntity> excelParams, String titleString,
                            Row row) throws Exception {
    Object value = cellValueServer.getValue(params.getDataHanlder(), object, cell, excelParams,
        titleString);
    if (object instanceof Map) {
        if (params.getDataHanlder() != null) {
            params.getDataHanlder().setMapValue((Map) object, titleString, value);
        } else {
            ((Map) object).put(titleString, value);
        }
    } else {
        ExcelVerifyHanlderResult verifyResult = verifyHandlerServer.verifyData(object, value,
            titleString, excelParams.get(titleString).getVerify(), params.getVerifyHanlder());
        if (verifyResult.isSuccess()) {
            setValues(excelParams.get(titleString), object, value);
        } else {
            Cell errorCell = row.createCell(row.getLastCellNum());
            errorCell.setCellValue(verifyResult.getMsg());
            errorCell.setCellStyle(errorCellStyle);
            verfiyFail = true;
            throw new ExcelImportException(ExcelImportEnum.VERIFY_ERROR);
        }
    }
}
 
Example #5
Source File: ExcelImportServer.java    From autopoi with Apache License 2.0 6 votes vote down vote up
/**
 * 保存字段值(获取值,校验值,追加错误信息)
 * 
 * @param params
 * @param object
 * @param cell
 * @param excelParams
 * @param titleString
 * @param row
 * @throws Exception
 */
private void saveFieldValue(ImportParams params, Object object, Cell cell, Map<String, ExcelImportEntity> excelParams, String titleString, Row row) throws Exception {
	Object value = cellValueServer.getValue(params.getDataHanlder(), object, cell, excelParams, titleString);
	if (object instanceof Map) {
		if (params.getDataHanlder() != null) {
			params.getDataHanlder().setMapValue((Map) object, titleString, value);
		} else {
			((Map) object).put(titleString, value);
		}
	} else {
		ExcelVerifyHanlderResult verifyResult = verifyHandlerServer.verifyData(object, value, titleString, excelParams.get(titleString).getVerify(), params.getVerifyHanlder());
		if (verifyResult.isSuccess()) {
			setValues(excelParams.get(titleString), object, value);
		} else {
			Cell errorCell = row.createCell(row.getLastCellNum());
			errorCell.setCellValue(verifyResult.getMsg());
			errorCell.setCellStyle(errorCellStyle);
			verfiyFail = true;
			throw new ExcelImportException(ExcelImportEnum.VERIFY_ERROR);
		}
	}
}
 
Example #6
Source File: SaxRowRead.java    From jeasypoi with Apache License 2.0 6 votes vote down vote up
@Override
public void parse(int index, List<SaxReadCellEntity> datas) {
	try {
		if (datas == null || datas.size() == 0) {
			return;
		}
		// 标题行跳过
		if (index < params.getTitleRows()) {
			return;
		}
		// 表头行
		if (index < params.getTitleRows() + params.getHeadRows()) {
			addHeadData(datas);
		} else {
			addListData(datas);
		}
	} catch (Exception e) {
		LOGGER.error(e.getMessage(), e);
		throw new ExcelImportException(e.getMessage());
	}
}
 
Example #7
Source File: SaxReadExcel.java    From jeasypoi with Apache License 2.0 5 votes vote down vote up
public <T> List<T> readExcel(InputStream inputstream, Class<?> pojoClass, ImportParams params, ISaxRowRead rowRead, IExcelReadRowHanlder hanlder) {
	try {
		OPCPackage opcPackage = OPCPackage.open(inputstream);
		return readExcel(opcPackage, pojoClass, params, rowRead, hanlder);
	} catch (Exception e) {
		LOGGER.error(e.getMessage(), e);
		throw new ExcelImportException(e.getMessage());
	}
}
 
Example #8
Source File: SaxRowRead.java    From easypoi with Apache License 2.0 5 votes vote down vote up
private void initParams(Class<?> pojoClass, ImportParams params) {
    try {

        Field fileds[] = PoiPublicUtil.getClassFields(pojoClass);
        ExcelTarget etarget = pojoClass.getAnnotation(ExcelTarget.class);
        if (etarget != null) {
            targetId = etarget.value();
        }
        getAllExcelField(targetId, fileds, excelParams, excelCollection, pojoClass, null);
    } catch (Exception e) {
        LOGGER.error(e.getMessage(), e);
        throw new ExcelImportException(e.getMessage());
    }

}
 
Example #9
Source File: SaxReadExcel.java    From easypoi with Apache License 2.0 5 votes vote down vote up
public <T> List<T> readExcel(InputStream inputstream, Class<?> pojoClass, ImportParams params,
                             ISaxRowRead rowRead, IExcelReadRowHanlder hanlder) {
    try {
        OPCPackage opcPackage = OPCPackage.open(inputstream);
        return readExcel(opcPackage, pojoClass, params, rowRead, hanlder);
    } catch (Exception e) {
        LOGGER.error(e.getMessage(), e);
        throw new ExcelImportException(e.getMessage());
    }
}
 
Example #10
Source File: CellValueServer.java    From easypoi with Apache License 2.0 5 votes vote down vote up
/**
 * 获取日期类型数据
 * 
 * @Author JueYue
 * @date 2013年11月26日
 * @param entity
 * @param value
 * @return
 */
private Date getDateData(ExcelImportEntity entity, String value) {
    if (StringUtils.isNotEmpty(entity.getFormat()) && StringUtils.isNotEmpty(value)) {
        SimpleDateFormat format = new SimpleDateFormat(entity.getFormat());
        try {
            return format.parse(value);
        } catch (ParseException e) {
            LOGGER.error("时间格式化失败,格式化:{},值:{}", entity.getFormat(), value);
            throw new ExcelImportException(ExcelImportEnum.GET_VALUE_ERROR);
        }
    }
    return null;
}
 
Example #11
Source File: SaxRowRead.java    From jeasypoi with Apache License 2.0 5 votes vote down vote up
private void initParams(Class<?> pojoClass, ImportParams params) {
	try {

		Field fileds[] = PoiPublicUtil.getClassFields(pojoClass);
		ExcelTarget etarget = pojoClass.getAnnotation(ExcelTarget.class);
		if (etarget != null) {
			targetId = etarget.value();
		}
		getAllExcelField(targetId, fileds, excelParams, excelCollection, pojoClass, null);
	} catch (Exception e) {
		LOGGER.error(e.getMessage(), e);
		throw new ExcelImportException(e.getMessage());
	}

}
 
Example #12
Source File: CellValueServer.java    From jeasypoi with Apache License 2.0 5 votes vote down vote up
/**
 * 获取日期类型数据
 * 
 * @Author JueYue
 * @date 2013年11月26日
 * @param entity
 * @param value
 * @return
 */
private Date getDateData(ExcelImportEntity entity, String value) {
	if (StringUtils.isNotEmpty(entity.getFormat()) && StringUtils.isNotEmpty(value)) {
		SimpleDateFormat format = new SimpleDateFormat(entity.getFormat());
		try {
			return format.parse(value);
		} catch (ParseException e) {
			LOGGER.error("时间格式化失败,格式化:{},值:{}", entity.getFormat(), value);
			throw new ExcelImportException(ExcelImportEnum.GET_VALUE_ERROR);
		}
	}
	return null;
}
 
Example #13
Source File: SaxRowRead.java    From autopoi with Apache License 2.0 5 votes vote down vote up
private void initParams(Class<?> pojoClass, ImportParams params) {
	try {

		Field fileds[] = PoiPublicUtil.getClassFields(pojoClass);
		ExcelTarget etarget = pojoClass.getAnnotation(ExcelTarget.class);
		if (etarget != null) {
			targetId = etarget.value();
		}
		getAllExcelField(targetId, fileds, excelParams, excelCollection, pojoClass, null);
	} catch (Exception e) {
		LOGGER.error(e.getMessage(), e);
		throw new ExcelImportException(e.getMessage());
	}

}
 
Example #14
Source File: SaxReadExcel.java    From autopoi with Apache License 2.0 5 votes vote down vote up
public <T> List<T> readExcel(InputStream inputstream, Class<?> pojoClass, ImportParams params, ISaxRowRead rowRead, IExcelReadRowHanlder hanlder) {
	try {
		OPCPackage opcPackage = OPCPackage.open(inputstream);
		return readExcel(opcPackage, pojoClass, params, rowRead, hanlder);
	} catch (Exception e) {
		LOGGER.error(e.getMessage(), e);
		throw new ExcelImportException(e.getMessage());
	}
}
 
Example #15
Source File: CellValueServer.java    From autopoi with Apache License 2.0 5 votes vote down vote up
/**
 * 获取日期类型数据
 * 
 * @Author JEECG
 * @date 2013年11月26日
 * @param entity
 * @param value
 * @return
 */
private Date getDateData(ExcelImportEntity entity, String value) {
	if (StringUtils.isNotEmpty(entity.getFormat()) && StringUtils.isNotEmpty(value)) {
		SimpleDateFormat format = new SimpleDateFormat(entity.getFormat());
		try {
			return format.parse(value);
		} catch (ParseException e) {
			LOGGER.error("时间格式化失败,格式化:{},值:{}", entity.getFormat(), value);
			throw new ExcelImportException(ExcelImportEnum.GET_VALUE_ERROR);
		}
	}
	return null;
}
 
Example #16
Source File: CellValueServer.java    From jeasypoi with Apache License 2.0 4 votes vote down vote up
/**
 * 根据返回类型获取返回值
 * 
 * @param xclass
 * @param result
 * @param entity
 * @return
 */
private Object getValueByType(String xclass, Object result, ExcelImportEntity entity) {
	try {
		if ("class java.util.Date".equals(xclass)) {
			return result;
		}
		if ("class java.lang.Boolean".equals(xclass) || "boolean".equals(xclass)) {
			return Boolean.valueOf(String.valueOf(result));
		}
		if ("class java.lang.Double".equals(xclass) || "double".equals(xclass)) {
			return Double.valueOf(String.valueOf(result));
		}
		if ("class java.lang.Long".equals(xclass) || "long".equals(xclass)) {
			return Long.valueOf(String.valueOf(result));
		}
		if ("class java.lang.Float".equals(xclass) || "float".equals(xclass)) {
			return Float.valueOf(String.valueOf(result));
		}
		if ("class java.lang.Integer".equals(xclass) || "int".equals(xclass)) {
			return Integer.valueOf(String.valueOf(result));
		}
		if ("class java.math.BigDecimal".equals(xclass)) {
			return new BigDecimal(String.valueOf(result));
		}
		if ("class java.lang.String".equals(xclass)) {
			// 针对String 类型,但是Excel获取的数据却不是String,比如Double类型,防止科学计数法
			if (result instanceof String) {
				return result;
			}
			// double类型防止科学计数法
			if (result instanceof Double) {
				return PoiPublicUtil.doubleToString((Double) result);
			}
			return String.valueOf(result);
		}
		return result;
	} catch (Exception e) {
		LOGGER.error(e.getMessage(), e);
		throw new ExcelImportException(ExcelImportEnum.GET_VALUE_ERROR);
	}
}
 
Example #17
Source File: CellValueServer.java    From easypoi with Apache License 2.0 4 votes vote down vote up
/**
 * 根据返回类型获取返回值
 * 
 * @param xclass
 * @param result
 * @param entity 
 * @return
 */
private Object getValueByType(String xclass, Object result, ExcelImportEntity entity) {
    try {
        if ("class java.util.Date".equals(xclass)) {
            return result;
        }
        if ("class java.lang.Boolean".equals(xclass) || "boolean".equals(xclass)) {
            return Boolean.valueOf(String.valueOf(result));
        }
        if ("class java.lang.Double".equals(xclass) || "double".equals(xclass)) {
            return Double.valueOf(String.valueOf(result));
        }
        if ("class java.lang.Long".equals(xclass) || "long".equals(xclass)) {
            return Long.valueOf(String.valueOf(result));
        }
        if ("class java.lang.Float".equals(xclass) || "float".equals(xclass)) {
            return Float.valueOf(String.valueOf(result));
        }
        if ("class java.lang.Integer".equals(xclass) || "int".equals(xclass)) {
            return Integer.valueOf(String.valueOf(result));
        }
        if ("class java.math.BigDecimal".equals(xclass)) {
            return new BigDecimal(String.valueOf(result));
        }
        if ("class java.lang.String".equals(xclass)) {
            //针对String 类型,但是Excel获取的数据却不是String,比如Double类型,防止科学计数法
            if (result instanceof String) {
                return result;
            }
            // double类型防止科学计数法
            if (result instanceof Double) {
                return PoiPublicUtil.doubleToString((Double) result);
            }
            return String.valueOf(result);
        }
        return result;
    } catch (Exception e) {
        LOGGER.error(e.getMessage(), e);
        throw new ExcelImportException(ExcelImportEnum.GET_VALUE_ERROR);
    }
}