while (cellbody.hasNext()) {
Cell cell = cellbody.next();
// 这里得到此列的对应的标题
String titleString = (String) titlemap.get(k);
// 如果这一列的标题和类中的某一列的Annotation相同,那么则调用此类的的set方法,进行设值
if (fieldmap.containsKey(titleString)) {
Method setMethod = (Method) fieldmap.get(titleString);
//得到setter方法的参数
Type[] ts = setMethod.getGenericParameterTypes();
//只要一个参数
String xclass = ts[0].toString();
//判断参数类型
if(xclass.equals("class java.lang.String"))
{
setMethod.invoke(tObject, cell.getStringCellValue());
}
else if(xclass.equals("class java.util.Date"))
{
setMethod.invoke(tObject, sf.parse(cell.getStringCellValue()));
}
else if(xclass.equals("class java.lang.Boolean"))
{
Boolean boolname=true;
if(cell.getStringCellValue().equals("否"))
{
boolname=false;
}
setMethod.invoke(tObject,boolname );
}
else if(xclass.equals("class java.lang.Integer"))
{
setMethod.invoke(tObject,new Integer( cell.getStringCellValue()));
}
else if(xclass.equals("class java.lang.Long"))
{
setMethod.invoke(tObject,new Long( cell.getStringCellValue()));
}
}
// 下一列
2011年8月01日 14:53