2014-02-10 27 views
0
package RoughWork; 

import com.omnitech.util.Xls_Reader; 

public class TestDataExtract2 { 

    public static void main(String[] args) { 
     Xls_Reader x = new Xls_Reader(System.getProperty("user.dir")+"\\src\\com\\omnitech\\xls\\TestSuiteA.xlsx");  
     getData(x,"TestCase_1"); 

    } 

    public static Object[][] getData(Xls_Reader xls, String testCaseName){ 
     if(! xls.isSheetExist("TestCase_1")){ 
      xls=null; 
      return new Object [1][0]; 
     } 

     int rows = xls.getRowCount("TestCase_1"); 
     int col = xls.getColumnCount("TestCase_1"); 
     //System.out.println("rows are --" + rows); 
     //System.out.println("col are --" + col); 

     Object[][] data = new Object[rows-1][col-4]; 
     for(int rowNum=2;rowNum<=rows;rowNum++){ 
      for(int colNum=0;colNum<=col-3;colNum++){ 

       data[rowNum-1][colNum] = xls.getCellData(testCaseName,rowNum, colNum); 
       //System.out.print(xls.getCellData(testCaseName, colNum, rowNum)+"--");{ 
        //System.out.println(); 
       } 
      } 


     return data; 

    } 


} 

我無法執行上面的代碼,如果我嘗試調試,我沒有得到任何結果。在線程「main」中獲取error.Exception java.lang.ArrayIndexOutOfBoundsException:3

+0

你的問題是什麼? – Fildor

+0

你能發佈異常堆棧跟蹤嗎? –

+0

異常在線程 「主」 java.lang.ArrayIndexOutOfBoundsException:3 \t在RoughWork.TestDataExtract2.getData(TestDataExtract2.java:28) \t在RoughWork.TestDataExtract2.main(TestDataExtract2.java:9) – user3101515

回答

0

我可以看到你在for循環問題:

第一:你從rowNum = 2開始循環和數組中第一個索引將rowNum - 1這意味着你會從指數10

啓動

第二:你的數據陣列中的列數爲col - 4 如果我們假設col = 6所以no. of column = 6-4=2 和你的for循環:從0col-3=3(你只有2個元素在數據列中)---->所以在這裏你將得到ArrayIndexOutOfBoundsException

相關問題