2017-04-05 80 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

相关问题