gpt4 book ai didi

java - 如果单元格为空,工作簿库不会读取单元格值

转载 作者:行者123 更新时间:2023-11-29 09:00:57 25 4
gpt4 key购买 nike

您好,我正在使用 jxl 工作簿库从 java 读取 Excel 文件。下面是代码。

Workbook wb = Workbook.getWorkbook(new File(destFile));

String line = ""; // available
for (int sheetNo = 0; sheetNo < wb.getNumberOfSheets(); sheetNo++) {

Sheet sheet = wb.getSheet(sheetNo);
System.out.println("Sheet Name is:\t" + sheet.getName());
if(sheet.getName().trim().equals("Store List")){
int columns = sheet.getColumns();
int rows = sheet.getRows();
String data;

for (int row = 0; row < rows; row++) {
for (int col = 1; col < columns; col++) {
data = sheet.getCell(col, row).getContents();
line = line + data + "#";
}
line += "#&#";
}
System.out.println("Entire line is" + line);
}
}

上述代码从excel文件中读取行&列数据,传递给服务方法做进一步处理。

当我逐行遍历空单元格时,Java 代码抛出 IndexOutOfBoundException。请在下面找到抛出异常的java代码。

for(int elementCount=4;elementCount<elements.length;elementCount++) {
String strquantity = rowValues[elementCount];
int quantity=0;
if(strquantity.equals("")){
quantity = 0;
} else {
quantity = Integer.parseInt(strquantity);
System.out.println("Quantity value is:\t" + quantity);
}
}

当你在第 2 行抛出上述代码异常时。

我认为原因是工作簿库。

最佳答案

在做了一些 rnd 之后我得到了解决方案,如果它是空单元格将从 jxl API 获取 0 或空值。在我的代码中,我一直在寻找空字符串

 if(strquantity.equals("")){
quantity = 0;
}

现在代码改成下面一个

if(strquantity.equals(null) || strquantity.equals("0")){
quantity = 0;
}

关于java - 如果单元格为空,工作簿库不会读取单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17481940/

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