您好我正在使用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行抛出上述代码异常一样。
我认为原因是由于工作簿库。
答案 0 :(得分:0)
做了一些后,我得到了解决方案,如果它是空的,单元格将从jxl API获得0或null值。 在我的代码中,我正在寻找空字符串
if(strquantity.equals("")){
quantity = 0;
}
现在代码更改为低于一个
if(strquantity.equals(null) || strquantity.equals("0")){
quantity = 0;
}