我想获得&设置excel .xls文件中的值,并从应用程序中获取错误消息

时间:2018-04-24 10:00:51

标签: java selenium-webdriver apache-poi

我想从excel .xls文件中获取(有效和无效)数据,并在我的应用程序登录页面中应用它。当显示错误消息。我想在excel文件中写入失败。从我的代码中,我可以从excel中获取值并将其应用到我的应用程序中,但是无法在excel.i中输出我的代码附带的代码。有人请帮我解决这个问题。

getParameter

我的另一个课是这个

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class exceltowrite {

public FileInputStream fis = null;
public FileOutputStream fos = null;
public HSSFWorkbook workbook = null;
public HSSFSheet sheet = null;
public HSSFRow row = null;
public HSSFCell cell = null;
String xlFilePath;

public exceltowrite(String string, String xlFilePath) throws IOException {
    this.xlFilePath = xlFilePath;
    fis = new FileInputStream(xlFilePath);
    workbook = new HSSFWorkbook(fis);
    fis.close();
}

public static void main(String[]args) throws EncryptedDocumentException, InvalidFormatException, IOException, InterruptedException  {
    for(int i=1;i<=29;i++) {
        String u1 =exceltowrite.getdata(i,0);
        String p1=exceltowrite.getdata(i,1);
        WebDriver d1=new FirefoxDriver();
        d1.get("http:\\www.google.com");
        d1.get("napplication site");
        d1.findElement(By.name("AdminLoginForm[email]")).sendKeys(u1);
        d1.findElement(By.name("AdminLoginForm[password]")).sendKeys(p1);
        d1.findElement(By.name("login-button")).click();
        Thread.sleep(2000);     
        WebElement e1= d1.findElement(By.xpath("email error message path"));
        String s1=e1.getText();
        WebElement e2=d1.findElement(By.xpath("password error message path"));
        String s2=e2.getText();        
        if(s1.equals("Email cannot be blank.")) {
            System.out.println("emailid failed");
        d1.quit();           
            if(s2.equals("Password cannot be blank.")) {
                System.out.println("password failed");
                d1.quit();
            } else {
                System.out.println("password pass");
                d1.quit();
              }
            } else {
                d1.quit();
              }
        }   
   }

public static String getdata(int i, int j) throws EncryptedDocumentException, InvalidFormatException, IOException {

    FileInputStream fis=new FileInputStream("file path");
    Workbook wb=WorkbookFactory.create(fis);
    String s=wb.getSheet("Sheet1").getRow(i).getCell(j).getStringCellValue();
    return s;
}

 public boolean setCellData(String sheetName, int colNumber, int rowNum, String value)
    {
        try
        {
            sheet = workbook.getSheet(sheetName);
           row = sheet.getRow(rowNum);
 System.out.println(row);
            cell = row.getCell(colNumber);            
 System.out.println(cell);
            cell.setCellValue(value);
            fos = new FileOutputStream(xlFilePath);
            workbook.write(fos);
            fos.close();
            System.out.println("Finished");
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
            return  false;
        }
        return true;
    }}
 }

1 个答案:

答案 0 :(得分:0)

public static void write() throws IOException {
    String home = System.getProperty("user.home");
    String downlpad = home + "\\Downloads";
    File file = new File(downlpad + "\\" + "Suhit-File-to-Download.xlsx");
    FileOutputStream outputStream = new FileOutputStream(file);
    XSSFWorkbook workbook = new XSSFWorkbook();
    XSSFSheet sheet = workbook.createSheet("Java Books");
    ArrayList<Object> bookData = new ArrayList<>();
    bookData.add("Name");
    bookData.add("Address");
    bookData.add("Number");

    XSSFRow row = sheet.createRow(0);
    for (int i = 0; i < bookData.size(); i++) {
        XSSFCell cell3 = row.createCell(i);
        cell3.setCellValue((String) bookData.get(i));
    }
    workbook.write(outputStream);
    workbook.close();

}