MissingMethodException: no signature of method: [Ljxl.Cell;.



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

MissingMethodException: no signature of method: [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;
}

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

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

最新更新