2016-02-12 84 views
0

我試圖使用Apache POI將數據Excel導出到網頁。我已經能夠輸出數字數據(即123)到excel,但所有的值被導出爲浮動(即123.0),我需要他們保持自己的數據類型,即數字Selenium WebDriver Apache POI(無法從excel中讀取數值)

  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(); 

      } 

我m使用用戶名:超級用戶 密碼:123

但是,在運行此腳本時,數值會轉換爲浮點數,並且我無法登錄。sir,請幫助我閱讀單元格值的確切格式從Excel表單中,以便我可以將其傳遞到網頁的文本字段中。

回答

0

將密碼字符串加倍然後轉換爲整數。

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

或者如果你把它只有一行:

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

這會給你一個整數輸出中的字符串 「123」。

相關問題