81,094
社区成员
发帖
与我相关
我的任务
分享
工具类:
public class ExcelDataValidate {
//对比上传文件行标题与模板是否一直
public String titleNameCompare(String[] templateName,ExcelTool<T> excelTool,HSSFSheet sheet) throws IOException {
String value = null;
String[] titleNameGet = excelTool.getTitleRowName(sheet);
if(templateName.length==titleNameGet.length) {
for(int i=0;i<titleNameGet.length;i++) {
if(!templateName[i].equals(titleNameGet[i])) {
value="导入数据标题行与模板不一致,请按模板填写";//提示消息导入数据标题行与模板不一致,请按模板填写
System.out.println("错误1"+i); //调测使用
templateName=null;
titleNameGet=null;
//in.close();
break;
}else {
value="true";
}
}
}else {
value="导入数据标题行与模板不一致,请按模板填写";//提示消息导入数据标题行与模板不一致,请按模板填写
System.out.println("错误2"); //调测使用
templateName=null;
titleNameGet=null;
//in.close();
}
return value;
}
}
调用工具类代码:
private ExcelTool<Student> bimportStudent=new ExcelTool<Student>();
//获得上传文件流
InputStream in=fileitem.getInputStream();
HSSFSheet sheet=bimportStudent.getSheet(in);
int rows=bimportStudent.getTotalRows(sheet);
int columns=bimportStudent.getTotalColumns(sheet);
//上传表格首行模板
String[] titleNameTemp= {"学号","姓名","性别","电话","QQ","班级","年级"};
//导入数据库表头模板
String[] databaseTitleTemp= {"number","name","sex","phone","qq","clazzid","gradeid"};
//对比上传表格和模板首行是否一致
String validateTitleInfo=new ExcelDataValidate().titleNameCompare(titleNameTemp, bimportStudent, sheet);