/**
* <li>excel读取的数据进行格式转换</li>
*/
public class ExcelDataFormatUtils {
/**
* 数据类型转换
*
* @param <T>
* @param data 要转换的数据
* @param tempClass 要转换的格式
* @return 转换之后的数据
* @throws Exception
*/
@SuppressWarnings("unchecked")
public static <T> T dealData(Object data, Class<T> tempClass) throws Exception {
if (data == null) {
return null;
} else {
Object result = new Object();
if (data instanceof Double) {
if (tempClass == Long.class) {
result = Long.valueOf(((Double) data).longValue());
} else if (tempClass == Double.class) {
result = data;
} else if (tempClass == Integer.class) {
result = Integer.valueOf(((Double) data).intValue());
} else if (tempClass == String.class) {
result = String.valueOf(Double.valueOf(String.valueOf(data)).longValue());
}
} else if (data instanceof String) {
if (tempClass == Long.class) {
result = Long.valueOf((String) data);
} else if (tempClass == Double.class) {
result = Double.valueOf((String) data);
} else if (tempClass == Integer.class) {
result = Integer.valueOf((String) data);
} else if (tempClass == String.class) {
result = String.valueOf(data);
}
} else if (data instanceof Integer) {
if (tempClass == Long.class) {
result = Long.valueOf(((Integer) data).longValue());
} else if (tempClass == Double.class) {
result = Double.valueOf(((Integer) data).doubleValue());
} else if (tempClass == Integer.class) {
result = (Integer) data;
} else if (tempClass == String.class) {
result = String.valueOf(data);
}
} else if (data instanceof Long) {
if (tempClass == Long.class) {
result = (Long) data;
} else if (tempClass == Double.class) {
result = Double.valueOf(((Long) data).doubleValue());
} else if (tempClass == Integer.class) {
result = Integer.valueOf(((Long) data).intValue());
} else if (tempClass == String.class) {
result = String.valueOf(data);
}
}
return (T) result;
}
}
}