业务需求是这样的
1.客户需要导入EXCEL文件
2.EXCEL文件中有4个Sheet
3.每个Sheet名与其Sheet内的字段名是固定的
想实现,将4个Sheet导入数据库中
我的实现是
1.定义接口
public interface IResource {
public boolean addResource();
}
2.定义Sheet对象
public class AD implements IResource {
private String Id;//注意:属性名要与Sheet中的字段名一致,用以实现反射赋值
public boolean addResource() {
// TODO Auto-generated method stub
return false;
}
public String getId() {
return Id;
}
public void setId(String id) {
Id = id;
}
}
3.实现导入
Class cls = Class.forName("从数据库中取出每个Sheet对应的类名");
Object test=cls.newInstance();//动态创建对象
//读取Excel中每个Sheet表的数据,进行循环
Method m = cls.getDeclaredMethod("set"+Sheet中的字段名,new Class[]{String.class});
m.invoke(test,"Sheet中的字段内容");
((IResource)test).addResource();