在java中解析excel-索引超出界限

bfhwhh0e  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(381)

我试图读取excel文件,但我似乎无法让我的代码工作。它返回的错误必须与数组越界有关,但不管是什么数字,它都不起作用。你知道我的代码哪里不正确吗?
注意:尝试只读取price列,并确保值不为null、不适用、小于80和大于130。
电子表格:

boolean flag = true; 
File inputF = new File("data.xlsx")
InputStream getStream = new FileInputStream(inputF);

try{
    if(getStream.read() != -1){
    BufferedReader reader = new BufferedReader(new InputStreamReader(getStream));
    String line;

    while((line = reader.readLine()) != null){
        String[] csvs = line.split(",");
        for (String str : csvs){
            if (str != null && (str.equals("NA") || str.length() == 0)) {
                System.out.println(str);
                flag = false;
                break;
            }
        }
        if (!flag){
            break;
        }else{
            String Price = csvs[1]; //TODO replace with price index 
            price = price.trim();
            Integer priceValue = new Integer(Price);
            if (priceValue != null && (priceValue < 80 || priceValue > 130)){
                flag = true;
            }
        }
    }
    reader.close();
    }
} catch (IOException e) {
    e.printStackTrace();
}
System.out.println(flag);
return flag;

错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1

预期输出:(基于提供的电子表格)

True
vql8enpb

vql8enpb1#

如注解中所述,您应该使用一个库,poi就是一个例子,因为最有可能的错误来自excel中的表数。

相关问题