Я пытаюсь написать код, который считывает данные из файла excel. Файл excel имеет 7 столбцов, а первые 5 столбцов состоят из данных типа строки, а последние 2 столбца состоят из данных целочисленного типа. Теперь я хочу отправить эти данные в форму веб-страницы.Запрос на отправку целых чисел в текстовое поле
Проблема с моим кодом: Мой код возвращает все данные excel в виде строк, где мне нужны только первые 5 столбцов в виде строк и последние 2 столбца в виде целых чисел. Кроме того, хотя все поля формы веб-страницы являются текстовыми полями, я не уверен, почему поля генерируют ошибку «Недопустимый формат» при отправке строковых данных. Не могли бы вы рассмотреть приведенный ниже код и помочь мне в решении этой проблемы.
@Test общественный недействительный SampleCustNumFormat() бросает исключение {
String vURL;
String vEmail;
String vPswd;
String vCnfmPswd;
int vCustAccNum;
int vZipCode;
long iWait;
int Size;
// Read Test Data from Excel
String xlPath = "C:\\SCE docs\\Automation\\InputData_Registration.xls";
ArrayList<CustomerData> customerData = getExcelData(xlPath,"AccountHolderRegistration");
System.setProperty("webdriver.chrome.driver", "c:\\chromedriver.exe");
driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
iWait=3000;
for (int k=1; k<xRows; k++)
{
driver.navigate().to(vURL);
driver.findElement(By.linkText("Register")).click();
driver.findElement(By.id("emailInputBox_input")).clear();
driver.findElement(By.id("emailInputBox_input")).sendKeys(vEmail);
driver.findElement(By.id("pwdInputBox_input")).clear();
driver.findElement(By.id("pwdInputBox_input")).sendKeys(vPswd);
driver.findElement(By.id("confirmpwd_input")).clear();
driver.findElement(By.id("confirmpwd_input")).sendKeys(vCnfmPswd);
driver.findElement(By.id("radio1")).click();
driver.findElement(By.id("accountInputBox_input")).sendKeys(Integer.toString(vCustAccNum));
driver.findElement(By.id("accountInputBox_input")).clear();
driver.findElement(By.id("zipcodeBox_input")).sendKeys(Integer.toString(vZipCode));
driver.findElement(By.id("zipcodeBox_input")).clear();
driver.findElement(By.id("terms3")).click();
/* driver.findElement(By.id("registerButton_label")).click();
driver.findElement(By.id("continueButton_label")).click();
Thread.sleep(iWait);
*/
}
}
// Custom Methods
public ArrayList<CustomerData> getExcelData(String Path, String shtName)
throws Exception {
ArrayList<CustomerData> customerDataList = new ArrayList<CustomerData>();
File myxl = new File(Path);
FileInputStream fi = new FileInputStream(myxl);
HSSFWorkbook myWB = new HSSFWorkbook(fi);
HSSFSheet mySheet = myWB.getSheet(shtName);
xRows = mySheet.getLastRowNum() + 1;
xCols = mySheet.getRow(0).getLastCellNum();
for (int i = 1; i < xRows; i++) {
HSSFRow row = mySheet.getRow(i);
CustomerData customerDetails = new CustomerData();
customerDetails.setvURL(row.getCell(1).getStringCellValue());
customerDetails.setvEmail(row.getCell(2).getStringCellValue());
customerDetails.setvPswd(row.getCell(3).getStringCellValue());
customerDetails.setvCnfmPswd(row.getCell(4).getStringCellValue());
customerDetails.setvCustAccNum((int) row.getCell(5).getNumericCellValue());
customerDetails.setvZipCode((int) row.getCell(6).getNumericCellValue());
customerDataList.add(customerDetails);
System.out.println("row 2: "+row.getCell(3));
// row.getCell(2).setCellValue(convertFormatCustNo(customerDetails.getCustNo()));
}
return customerDataList;
}
Вы, очевидно, не «написали код». Вы жалуетесь, что все данные возвращаются в виде строк, и у вас есть метод, явно называемый 'cellToString()'. Как вы думаете, что делает этот метод? Метод 'getExcelData()' возвращает массив 'String [] []', как вы ожидаете, что он вернет что-то еще? Очевидно, вы ничего не пишете, и вы ожидаете, что мы дадим вам код, даже не пытаясь сделать что-либо самостоятельно. И выход не относится даже к этому коду. В коде нет ни одной строки, которая выводит 'Some Data' – jbx
. Я не жалуюсь, я знаю, какой результат я получаю, и я хочу знать, как преобразовать последние два столбца из строк в целые числа, прежде чем вводить его в сеть стр. Я уже опубликовал еще один вопрос, и они попросили меня опубликовать новый вопрос, из-за которого я опубликовал этот вопрос. – user1564024
приведенный выше мой фактический код, который возвращает строковые данные и расширение для преобразования в целое число, которое я не публиковал, потому что ясное понимание для человека, который предположительно отвечает на мой вопрос. И в отношении вывода я удалил заявления печати. – user1564024