sendKeys(CharSequence...)
类型中的方法WebElement
不适用于参数(double)
wd.findElement(By.id("----")).sendKeys(sheet.getRow(2).getCell(0).getNumericCellValue());
如何从Excel中将数值单元格值转换为sendkeys方法,对于字符串值,它可以正常工作。
现在我正在使用poi jar文件
答案 0 :(得分:1)
很简单,将数值转换为字符串。像String str ="" +5;
为您的案例使用"" + sheet.getRow(2).getCell(0).getNumericCellValue()
即
wd.findElement(By.id(" ----&#34))的SendKeys("&#34 + sheet.getRow(2).getCell(0).getNumericCellValue ());
对于数字单元格,apache poi返回double值。要获得精确的双精度值,即没有字符' E',将double值转换为BigDecimal并获取它的字符串表示,如下所示
Double d = 1.234567E8;
String str1 = new BigDecimal(d).toString();
System.out.println(str1);
输出:123456700 那就是
答案 1 :(得分:0)
因为" Sendkeys()"只接受String作为参数,所以如果你想将数值传递给sendkeys,你必须将它转换为String。我将举一个例子来详细解释这一点。
假设你得到" 1455"来自excel,你想将它传递给sendkeys,然后将其转换为String,如下所示:
String num = Double.toString("1455");
webElement.SendKeys(num);
答案 2 :(得分:0)
SendKeys需要传递一个String对象,但是你要传递一个数值。
请改为尝试:
WebElement element = null;
try {
element = wd.findElement(By.id("----"));
element.sendKeys(sheet.getRow(2).getCell(0).getStringCellValue());
);
} catch (Exception e) {
/* this is thrown if the cell contains a formula that isn't a "string Formula" */
}
请注意,我已更改getNumericCellValue()
的{{1}}。