gpt4 book ai didi

java,apache poi,空点错误

转载 作者:行者123 更新时间:2023-12-01 13:30:59 31 4
gpt4 key购买 nike

我有一个看起来像这样的 Excel 文件

Name       Mark
CHE102 80
MTE100 85
MATH115
.
.
.
.
.
..

我正在使用此代码此方法来提取信息

public void readData(Row row,Sheet ws){
Iterator<Cell> cellIterator = row.cellIterator();
Cell cell=cellIterator.next();
name=cell.getStringCellValue();
cell=cellIterator.next();
mark=cell.getNumericCellValue();
}

在我的主要即时通讯中,使用 for 循环如下:

for(int i=0;i<5;i++){
arr[i]=new Test();
Row row=rowIterator.next();
arr[i].readData(row,ws);
arr[i].setGrade();
arr[i].outputData();
}

但问题是,由于我的 Excel 文件中有许多空单元格,因此出现空点错误我该如何解决这个问题?

最佳答案

您应该通过显式检查空值来防止空值:

例如你可以写

name= (cell==null) ? "" : cell.getStringCellValue();

但是,cellIterator 仅返回非空白单元格,因此当“名称”为空时,您会得到奇怪的结果。

尝试:

public void readData(Row row,Sheet ws){
Cell cell=row.getCell(0, Row.RETURN_BLANK_AS_NULL);
name= (cell==null) ? "" : cell.getStringCellValue();
cell=row.getCell(1, Row.RETURN_BLANK_AS_NULL);
mark= (cell==null) ? 0 : cell.getNumericCellValue();
}

显式处理两个单元格。当然,您可以使用不同的逻辑,而不是使用空字符串和 0 来表示不存在的单元格。

另请参阅:http://poi.apache.org/spreadsheet/quick-guide.html#Iterator

关于java,apache poi,空点错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21575370/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com