程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> string-rb = Workbook.getWorkbook(is)在for裡面截止到這句話就不循環了為什麼?

string-rb = Workbook.getWorkbook(is)在for裡面截止到這句話就不循環了為什麼?

編輯:編程綜合問答
rb = Workbook.getWorkbook(is)在for裡面截止到這句話就不循環了為什麼?
InputStream is = null;
FileInputStream fn = null;
static String[]r1=null;
static String[]r2=null;
int cs = 0;
int rs = 0; 
Workbook rb=null;
public jxl(String path){
    this.path = path;
    demo();     
}

public void demo(){

    System.out.println("bb");
    try {

        fn = new FileInputStream(path);
        is = fn;
        System.out.println("cc");
        rb = Workbook.getWorkbook(is);
        System.out.println("dd");
        Sheet s = rb.getSheet(0);// 此處只讀取第一個sheet內容
        System.out.println("ee");
        cs = s.getColumns();
        rs = s.getRows();

        System.out.println("cs:"+cs+",rs:"+rs);
        r1= new String[rs];
        r2= new String[rs];
        for(int i =0;i<rs;i++){     
            r1[i]=s.getCell(1,i).getContents();         
        }
        for(int i =0;i<rs;i++){     
            r2[i]=s.getCell(4,i).getContents();         
        }

    } catch (Exception e) {
        System.out.println(e.toString());
    }finally {
            try {
                fn.close();
                is.close();
                rb.close(); 
            } catch (IOException e) {
                // TODO 自動生成的 catch 塊
                e.printStackTrace();
            }           
    }
    程序要循環demo  但是測試就到那句話就不在循環了,就解決辦法

最佳回答:


你的兩個代碼,第一個是打印第一行所有數據,第二個是打印第四行所有數據,這兩個for完全可以合並成一個的啊。
如果我沒理解錯的話,你是想打印某一行的數據,那麼for的邊界就應該是列總數的,代碼最後應該打印兩個數組的信息,才能判斷讀取是否正確。
你的描述可能是進入異常分支的了,因為getCell(row,col)你調用1,i而,i的范圍你用的是rs總行數,肯定錯誤,應該是cs總列數。

 for(int i =0;i<cs;i++){     
            r1[i]=s.getCell(1,i).getContents();  
                        r2[i]=s.getCell(4,i).getContents();         
        }
System.out.println("第一行所有數據:"+Arrays.toString(r1));
System.out.println("第四行所有數據:"+Arrays.toString(r2));
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved