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.页面导入测试 为空测试: 非整测试:
经验分享 程序员 微信小程序 职场和发展