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

您好我正在阅读从java使用jxl工作簿library.Below的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代码会抛出IndexOutOfBoundExceptionexception。 请find下面引发exception的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); } } 

正如你上面的代码exception是在第2行抛出。

我相信这是因为工作簿库。

在做了一些rnd我得到的解决scheme,如果是空的单元格将从jxl API获得0或空值。 在我的代码中,我正在寻找空string

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

现在代码更改为1以下

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