Ввод / экспорт данных через MS Excel в сценарии OATS

При попытке получить входные данные из листа Excel во время работы с инструментом OATS, он всегда попадает в блок catch функции. Ниже написан сценарий. Пожалуйста, помогите нам решить эту проблему.

public String getInputfromExcel(int argColumnNumber,int argRowNumber)throws Exception
    {
          String inputExcelName = dataPath+".xlsx";
          String cellContent = "12";
          try 
          {
                Workbook workbook = Workbook.getWorkbook(new File(inputExcelName));
                Sheet sheet = workbook.getSheet(0);
                Cell a1 = sheet.getCell(argColumnNumber, argRowNumber);
                cellContent = (a1.getContents()).toString(); 
                System.out.println(cellContent.toString());
                workbook.close();
          }
          catch (Exception e) 
          {
            addReport("Getting Input From Excel", "Fail","Exception while reading value from excel sheet");

          }
          return cellContent;
     }

2 ответа

Это старый вопрос.... но просто отправив ответ, это может быть полезно для кого-то нуждающегося.

В Oracle Application Testing Suite. Нет необходимости внешних JAR-файлов для чтения / записи данных.

Вы можете включить модуль DataTable в инструменте. Полное объяснение приведено здесь, http://www.testinghive.com/how-to-read-write-excel-in-oats/

//Define Sheet name to be read, and provide comma seperated to read multiple sheets
String sheetName = "Sheet1";
//Mention excel sheet path
String strFile= "C:\\Demo\\test.xls";

//Defined array list to add Sheets to read
List sheetList = new ArrayList();
sheetList.add(sheetName);
// Iports Sheet1
datatable.importSheets(strFile, sheetList, true, true);
//get rowcount
info("Total rows :"+datatable.getRowCount());
int rowcount=datatable.getRowCount();
//Loop to read all rows
for (int i=0;i<rowcount;i++)
{
//Set current row fromw here you need to start reading, in this case start from first row
datatable.setCurrentRow(sheetName, i);
String strCompany=(String) datatable.getValue(sheetName,i,"Company");
String strEmpFName=(String) datatable.getValue(sheetName,i,"FirstName");
String strEmpLName=(String) datatable.getValue(sheetName,i,"LastName");
String strEmpID=(String) datatable.getValue(sheetName,i,"EmpID");
String strLocation=(String) datatable.getValue(sheetName,i,"Location");

//prints first name and last name
System.out.println("First Name : "+strEmpFName+", Last Name : "+strEmpLName);

//Sets ACTIVE column in excel sheet to Y
String strActive="Y";
datatable.setValue(sheetName, i, datatable.getColumn(sheetName, datatable.getColumnIndex("Active")), strActive);

}

//Updates sheet with updated values ie ACTIVE column sets to Y
datatable.exportToExcel("C:\\Demo\\test1.xlsx");

Аксель поднял вопрос. Кроме того, если я правильно помню, функция sheet.getCell(arg1, arg2) имеет первый аргумент в виде rowNumber и 2-й в качестве columnNumber (оба значения имеют индекс на основе 0).

Другие вопросы по тегам