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.页面导入测试

为空测试:

imgServlet?fileID=e8df9c79-8c0a-41fa-a696-5dc003007dd2

非整测试:

imgServlet?fileID=563b165c-17e0-47a2-8862-25d0f5db768a

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值