Selenium WebDriver Apache POI(无法从excel读取数值)

时间:2016-02-12 13:38:40

标签: java eclipse excel

我正在尝试使用Apache POI将数据Excel导出到网页。我已经能够将数字数据(即123)导出到excel,但是所有的值都被导出为Float(即123.0),我需要它们保存它们的数据类型,即数字

            FileInputStream fi = new      FileInputStream("C:\\eclipse\\eclipse\\example\\DRRT.xls");

           HSSFWorkbook eb = new HSSFWorkbook(fi);

           HSSFSheet sh = eb.getSheet("Sheet1");

           HSSFRow row=null;

           HSSFCell cell = null;

           HSSFCell cell1 =null;

           for(int i=1;i<=sh.getLastRowNum();i++)

           {

           row =  sh.getRow(i);

           cell = row.getCell(0);

           cell1 = row.getCell(1);

           System.out.println(i +"   login ");

           System.out.println(cell +"   "+cell1);

           String s = cell.getStringCellValue(); // for user name

           String s1 = String.valueOf(cell1);    // for password

           WebDriver we = new FirefoxDriver();

           we.get("https;//……………");

           we.findElement(By.name("txtUsername")).sendKeys(s);

           we.findElement(By.name("txtPassword")).sendKeys(s1);

           we.findElement(By.name("btnLogin")).click();

           System.out.println(we.getTitle());

           Thread.sleep(3000);

           we.findElement(By.partialLinkText("LOGOUT")).click();

           we.close();

           }

我使用的是用户名:superuser           密码:123

但是在运行此脚本时,数值会转换为float,而我无法登录。先生,请帮我从excel表中读取单元格值的确切格式,以便我可以通过它在网页的文本字段中。

1 个答案:

答案 0 :(得分:0)

将密码字符串转换为double,然后转换为整数。

String s1 = String.valueOf(cell1);    // for password
s1 =(int)Double.parseDouble(s1) + "";

或者如果你只做一行:

String s1 = (int) Double.parseDouble(String.valueOf(cell1)) + "";

这将为整数输出提供字符串“123”。