java excel导入校验_excel导入前校验
问题描述:
遇到客户提出过问题,能否在导入前对导入的excel内容进行校验,满足条件后才能导入到报表中。
解决思路:
在导入excel中首先要将excel的数据读入到报表文件中的excelReport进行取值校验即可。
操作步骤:
1,取report4.jar 和 quieeReport4.tld(分别包含有AbstractExcelListener类和importExcelListener标签属性) 分别放到web_inf/lib 和web-inf 下面;
2,编写相关的java文件,并将对应的class文件放到 classes下的包路径下
java文件如下(功能是检验excel第2列数据是不是整型)
package com.test;
import com.quiee.report4.usermodel.input.AbstractExcelListener;
public class myExcelImportRule extends AbstractExcelListener {
public void process() throws Throwable {
int rowNum=excelReport.getRowCount();
short k=excelReport.getColCount();
int colNum=k;
System.out.println(“行为“+rowNum+”列为“+colNum);
for(int i=1;i<=colNum;i++ ){
//判断第2列的是不是整型
if(i==2){
//一般excel中有表头 表头行不导入
for(int j=2;j<=rowNum;j++){
Object obj=excelReport.getCell( j, (short)i ).getValue();
//下面设置规则
if(obj == null ){
throw new Exception( “导入的excel文件中第“+j+”行第“+i+”列为null” );
}else{
try{
Integer tem=Integer.parseInt(obj.toString());
}
catch (Exception e){
throw new Exception( “导入的excel文件中第“+j+”行第“+i+”列非整型” );
}
}
}
}
}
}
}
3.raq发布的jsp中增加excel导入监听类标签属性
如在showReport.jsp 的report:html 下面加入
needImportExcel=”yes”
importExcelListener=”com.test.myExcelImportRule”
4.页面导入测试
为空测试:
非整测试:
问题描述: 遇到客户提出过问题,能否在导入前对导入的excel内容进行校验,满足条件后才能导入到报表中。 解决思路: 在导入excel中首先要将excel的数据读入到报表文件中的excelReport进行取值校验即可。 操作步骤: 1,取report4.jar 和 quieeReport4.tld(分别包含有AbstractExcelListener类和importExcelListener标签属性) 分别放到web_inf/lib 和web-inf 下面; 2,编写相关的java文件,并将对应的class文件放到 classes下的包路径下 java文件如下(功能是检验excel第2列数据是不是整型) package com.test; import com.quiee.report4.usermodel.input.AbstractExcelListener; public class myExcelImportRule extends AbstractExcelListener { public void process() throws Throwable { int rowNum=excelReport.getRowCount(); short k=excelReport.getColCount(); int colNum=k; System.out.println(“行为“+rowNum+”列为“+colNum); for(int i=1;i<=colNum;i++ ){ //判断第2列的是不是整型 if(i==2){ //一般excel中有表头 表头行不导入 for(int j=2;j<=rowNum;j++){ Object obj=excelReport.getCell( j, (short)i ).getValue(); //下面设置规则 if(obj == null ){ throw new Exception( “导入的excel文件中第“+j+”行第“+i+”列为null” ); }else{ try{ Integer tem=Integer.parseInt(obj.toString()); } catch (Exception e){ throw new Exception( “导入的excel文件中第“+j+”行第“+i+”列非整型” ); } } } } } } } 3.raq发布的jsp中增加excel导入监听类标签属性 如在showReport.jsp 的report:html 下面加入 needImportExcel=”yes” importExcelListener=”com.test.myExcelImportRule” 4.页面导入测试 为空测试: 非整测试: