MissingMethodException:没有方法签名:[Ljxl.Cell; .getLastCellNum()适用于参数类型:()值:[]

时间:2018-03-06 05:28:04

标签: groovy soapui missingmethodexception

我是groovy的新手,我正在尝试使用hashmap概念从soapUI中的excel驱动数据,但是我收到了一个错误:

  

MissingMethodException:没有方法签名:[Ljxl.Cell; .getLastCellNum()适用于参数类型:()值:[]

如何在groovy中获取行中最后一个单元格的值?

这是我的代码:

public static Map<String,String> getTestDataMap(int keyRowNumber,int valueRowNumber){
    Map<String,String> testData=new HashMap<String, String>();

    FileInputStream excelFile;
    try {

        Workbook wb = Workbook.getWorkbook(new File('C:/Users/aparnam/Desktop/AmazonTestData.xls'))
        Sheet sheet = wb.getSheet("Queries")
        def headerRow = sheet.getRow(keyRowNumber);

        for(int i=0;i<headerRow.getLastCellNum();i++){
            testData.put(sheet.getRow(keyRowNumber).getCell(i).toString(), sheet.getRow(valueRowNumber).getCell(i).toString());
        }
    } catch (FileNotFoundException e) {
        System.out.println("Test Data file Not found"+e.getMessage());
    }
    catch (IOException e) {
        System.out.println("unable to read excel file"+e.getMessage());
    }
    return testData;
}

1 个答案:

答案 0 :(得分:0)

您似乎混合使用org.apache.poijxl库来读取Excel文件。检查你的进口。在您使用的jxl中,没有方法getLastCellNum()sheet.getRow()返回单元格数组。 Sheet API doc。也许适合你将使用这样的东西:

for(int i=0;i<headerRow.getColumns();i++){
    testData.put(sheet.getRow(keyRowNumber)[i].toString(), sheet.getRow(valueRowNumber)[i].toString());
}