2017-04-05 56 views
-1

我有這種方法,在ArrayList中添加一個名爲column的Excel文件中的整個列。但是如果列較短(它沒有其他行的行數多),則會出現問題empty String出現錯誤。如何從Excel文件中讀取具有不同行數的列?

public initializingWorkbook(Sheet sheet,ArrayList <Double> column, int index) 
    { 
    int rows = sheet.getRows(); 
    for(int row = 1;row < rows;row++) 

     { 
      String i = sheet.getCell(index, row).getContents(); 
      column.add(Double.parseDouble(i)); 
     } 
    } 

Here is the sheet。因此,前6列具有相同的行數,並且test列更少。單元格格式爲General

+0

你調試了你的代碼嗎?錯誤出現時,「我」是什麼?然後檢查你的字符串,在做'add'之前。 – IQV

+0

@IQV它給了我'源未找到:源附件不包含文件SheetImpl.class'錯誤的來源,它使我選擇'jxl.jar'的源,但不知怎的,如果我'步入'它的工作。 – Catalin

+0

你能否提供一個錯誤發生在你的工作表的例子? 「空字符串」的單元格的值是多少? – IQV

回答

0

你必須先檢查,實際行多少列包含:

{ 
if (index < sheet.getRow(row).length) { 
    String i = sheet.getCell(index, row).getContents(); 
    column.add(Double.parseDouble(i)); 
    } 
} 

sheet.getRow(int row)返回該行的所有細胞;那是一組單元格。所以你可以檢查返回數組的維數。

+0

因爲'index'是選中的列數,我只有'6'列,每列有很多行(大約是'40000') – Catalin

+0

根據你的樣本你有6或7列。 – IQV

相關問題