因此,简而言之,我试图从电子表格(Excel)中读取值,然后将这些值分配给变量,然后将它们发布到Web表单中。我已成功手动完成此操作,但我确信有一种更有效的方法可以做到这一点。我不知道电子表格中最初会有多少行,所以我需要一种方法让它循环直到它找到一个空行。
网络表单的地址都是可预测的,第一个数字代表行(1-PF_7,2-PF_7等等。
我的代码在下面,我提前为它的长度道歉(这就是为什么我在这里寻找指导:)
package automationframework;
import java.io.FileInputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Set;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class RV_Security {
public static void Execute(WebDriver driver) throws Exception{
}
// public static void main(String[] args) {
// TODO Auto-generated method stub
@SuppressWarnings("deprecation")
public static void main(String[] args) throws Exception {
{
String exePath = "C:\\windows\\chromedriver.exe";
System.setProperty("webdriver.chrome.driver", exePath);
WebDriver driver = new ChromeDriver();
//Open website
driver.manage().window().maximize();
driver.get("http://atc.la.gov/rvportal.cfm");
driver.findElement(By.id("securityportalnewnav")).click();
driver.switchTo().frame(driver.findElement(By.id("MTAzODA2")));
driver.findElement(By.id("PF_9")).sendKeys("d*****.com");
driver.findElement(By.id("PF_10")).sendKeys("****");
driver.findElement(By.id("PF_8")).click();
driver.switchTo().defaultContent();
//New page - Select R/V Roster Submission page
String oldTab = driver.getWindowHandle();
driver.switchTo().frame("MTAzODA2");
driver.findElement(By.id("PF_49")).click();
///R/V Security Submissions Form
ArrayList<String> newTab = new ArrayList<String>
(driver.getWindowHandles());
newTab.remove(oldTab);
// change focus to new tab
// driver.switchTo().window(newTab.get(1));
Set<String> windowId = driver.getWindowHandles(); // get
window id of current window
Iterator<String> itererator = windowId.iterator();
String mainWinID = itererator.next();
String newAdwinID = itererator.next();
driver.switchTo().window(newAdwinID);
driver.findElement(By.xpath("/html/body/div[6]/div[3]/div/button")).click();
driver.findElement(By.id("PF_3")).sendKeys("ABSEC LLC");
driver.findElement(By.id("PF_4")).clear();
driver.findElement(By.id("PF_4")).sendKeys("8685-P");
driver.findElement(By.id("PF_69")).sendKeys("David A. Short");
driver.findElement(By.id("PF_71")).sendKeys("38713-T");
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
java.util.Date date = new java.util.Date();
String datetime = dateFormat.format(date);
driver.findElement(By.id("PF_32")).sendKeys(datetime);
driver.findElement(By.id("PF_35")).sendKeys("10");
driver.findElement(By.id("PF_78")).sendKeys("david@absecllc.com");
driver.findElement(By.id("PF_37")).sendKeys("ONLINE");
driver.findElement(By.xpath("//*
[@id=\"PF_6pag_left\"]/table/tbody/tr/td[1]/div/span")).click();
driver.findElement(By.xpath("//*
[@id=\"PF_6pag_left\"]/table/tbody/tr/td[1]/div/span")).click();
driver.findElement(By.xpath("//*
[@id=\"PF_6pag_left\"]/table/tbody/tr/td[1]/div/span")).click();
driver.findElement(By.xpath("//*
[@id=\"PF_6pag_left\"]/table/tbody/tr/td[1]/div/span")).click();
driver.findElement(By.xpath("//*
[@id=\"PF_6pag_left\"]/table/tbody/tr/td[1]/div/span")).click();
driver.findElement(By.xpath("//*
[@id=\"PF_6pag_left\"]/table/tbody/tr/td[1]/div/span")).click();
driver.findElement(By.xpath("//*
[@id=\"PF_6pag_left\"]/table/tbody/tr/td[1]/div/span")).click();
/** driver.findElement(By.xpath("//*
[@id=\"PF_6pag_left\"]/table/tbody/tr/td[1]/div/span")).click();
driver.findElement(By.xpath("//*
[@id=\"PF_6pag_left\"]/table/tbody/tr/td[1]/div/span")).click();
driver.findElement(By.xpath("//*
[@id=\"PF_6pag_left\"]/table/tbody/tr/td[1]/div/span")).click();
driver.findElement(By.xpath("//*
[@id=\"PF_6pag_left\"]/table/tbody/tr/td[1]/div/span")).click();
driver.findElement(By.xpath("//*
[@id=\"PF_6pag_left\"]/table/tbody/tr/td[1]/div/span")).click();
*/
// Get Excel Data
DataFormatter formatter = new DataFormatter(); //Create formatter
FileInputStream fis=new
FileInputStream("D://OneDrive//ABSEC//ATC_Reporting//expdata.xlsx");
Workbook wb=WorkbookFactory.create(fis);
Sheet sh=wb.getSheetAt(0);
Row row=sh.getRow(0);
Cell yourCell=row.getCell(0);
yourCell.setCellType(Cell.CELL_TYPE_STRING);
String u1s1 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(1);
String u1s2 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(2);
String u1s3 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(3);
String u1s4 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(4);
String u1s5 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(5);
String u1s6 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(6);
String u1s7 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(7);
String u1s8 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(8);
String u1s9 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(9);
String u1s10 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(10);
String u1s11=formatter.formatCellValue(yourCell);
yourCell=row.getCell(11);
String u1s12 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(12);
String u1s13 =formatter.formatCellValue(yourCell);
row=sh.getRow(1);
yourCell=row.getCell(0);
yourCell.setCellType(Cell.CELL_TYPE_STRING);
String u2s1 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(1);
String u2s2 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(2);
String u2s3 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(3);
String u2s4 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(4);
String u2s5 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(5);
String u2s6 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(6);
String u2s7 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(7);
String u2s8 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(8);
String u2s9 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(9);
String u2s10 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(10);
String u2s11 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(11);
String u2s12 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(12);
String u2s13 =formatter.formatCellValue(yourCell);
row=sh.getRow(2);
yourCell=row.getCell(0);
yourCell.setCellType(Cell.CELL_TYPE_STRING);
String u3s1 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(1);
String u3s2 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(2);
String u3s3 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(3);
String u3s4 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(4);
String u3s5 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(5);
String u3s6 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(6);
String u3s7 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(7);
String u3s8 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(8);
String u3s9 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(9);
String u3s10 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(10);
String u3s11 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(11);
String u3s12 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(12);
String u3s13 =formatter.formatCellValue(yourCell);
row=sh.getRow(3);
yourCell=row.getCell(0);
yourCell.setCellType(Cell.CELL_TYPE_STRING);
String u4s1 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(1);
String u4s2 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(2);
String u4s3 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(3);
String u4s4 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(4);
String u4s5 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(5);
String u4s6 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(6);
String u4s7 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(7);
String u4s8 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(8);
String u4s9 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(9);
String u4s10 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(10);
String u4s11 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(11);
String u4s12 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(12);
String u4s13 =formatter.formatCellValue(yourCell);
row=sh.getRow(4);
yourCell=row.getCell(0);
yourCell.setCellType(Cell.CELL_TYPE_STRING);
String u5s1 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(1);
String u5s2 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(2);
String u5s3 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(3);
String u5s4 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(4);
String u5s5 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(5);
String u5s6 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(6);
String u5s7 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(7);
String u5s8 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(8);
String u5s9 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(9);
String u5s10 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(10);
String u5s11 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(11);
String u5s12 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(12);
String u5s13 =formatter.formatCellValue(yourCell);
row=sh.getRow(5);
yourCell=row.getCell(0);
yourCell.setCellType(Cell.CELL_TYPE_STRING);
String u6s1 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(1);
String u6s2 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(2);
String u6s3 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(3);
String u6s4 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(4);
String u6s5 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(5);
String u6s6 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(6);
String u6s7 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(7);
String u6s8 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(8);
String u6s9 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(9);
String u6s10 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(10);
String u6s11 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(11);
String u6s12 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(12);
String u6s13 =formatter.formatCellValue(yourCell);
row=sh.getRow(6);
yourCell=row.getCell(0);
yourCell.setCellType(Cell.CELL_TYPE_STRING);
String u7s1 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(1);
String u7s2 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(2);
String u7s3 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(3);
String u7s4 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(4);
String u7s5 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(5);
String u7s6 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(6);
String u7s7 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(7);
String u7s8 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(8);
String u7s9 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(9);
String u7s10 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(10);
String u7s11 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(11);
String u7s12 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(12);
String u7s13 =formatter.formatCellValue(yourCell);
row=sh.getRow(7);
yourCell=row.getCell(0);
yourCell.setCellType(Cell.CELL_TYPE_STRING);
String u8s1 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(1);
String u8s2 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(2);
String u8s3 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(3);
String u8s4 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(4);
String u8s5 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(5);
String u8s6 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(6);
String u8s7 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(7);
String u8s8 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(8);
String u8s9 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(9);
String u8s10 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(10);
String u8s11 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(11);
String u8s12 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(12);
String u8s13 =formatter.formatCellValue(yourCell);
row=sh.getRow(8);
yourCell=row.getCell(0);
yourCell.setCellType(Cell.CELL_TYPE_STRING);
String u9s1 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(1);
String u9s2 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(2);
String u9s3 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(3);
String u9s4 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(4);
String u9s5 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(5);
String u9s6 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(6);
String u9s7 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(7);
String u9s8 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(8);
String u9s9 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(9);
String u9s10 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(10);
String u9s11 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(11);
String u9s12 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(12);
String u9s13 =formatter.formatCellValue(yourCell);
row=sh.getRow(9);
yourCell=row.getCell(0);
yourCell.setCellType(Cell.CELL_TYPE_STRING);
String u10s1 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(1);
String u10s2 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(2);
String u10s3 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(3);
String u10s4 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(4);
String u10s5 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(5);
String u10s6 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(6);
String u10s7 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(7);
String u10s8 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(8);
String u10s9 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(9);
String u10s10 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(10);
String u10s11 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(11);
String u10s12 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(12);
String u10s13 =formatter.formatCellValue(yourCell);
row=sh.getRow(10);
yourCell=row.getCell(0);
yourCell.setCellType(Cell.CELL_TYPE_STRING);
String u11s1 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(1);
String u11s2 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(2);
String u11s3 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(3);
String u11s4 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(4);
String u11s5 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(5);
String u11s6 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(6);
String u11s7 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(7);
String u11s8 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(8);
String u11s9 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(9);
String u11s10 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(10);
String u11s11 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(11);
String u11s12 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(12);
String u11s13 =formatter.formatCellValue(yourCell);
row=sh.getRow(11);
yourCell=row.getCell(0);
yourCell.setCellType(Cell.CELL_TYPE_STRING);
String u12s1 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(1);
String u12s2 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(2);
String u12s3 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(3);
String u12s4 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(4);
String u12s5 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(5);
String u12s6 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(6);
String u12s7 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(7);
String u12s8 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(8);
String u12s9 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(9);
String u12s10 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(10);
String u12s11 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(11);
String u12s12 =formatter.formatCellValue(yourCell);
yourCell=row.getCell(12);
String u12s13 =formatter.formatCellValue(yourCell);
//Student 1
driver.findElement(By.id("1-PF_7")).sendKeys(u1s1);
driver.findElement(By.id("1-PF_8")).sendKeys(u1s2);
driver.findElement(By.id("1-PF_9")).sendKeys(u1s3);
driver.findElement(By.id("1-PF_10")).sendKeys(u1s4);
driver.findElement(By.id("1-PF_11")).sendKeys(u1s5);
driver.findElement(By.id("1-PF_12")).sendKeys(u1s6);
driver.findElement(By.id("1-PF_13")).sendKeys(u1s7);
driver.findElement(By.id("1-PF_14")).sendKeys(u1s8);
driver.findElement(By.id("1-PF_15")).sendKeys(u1s9);
driver.findElement(By.id("1-PF_16")).sendKeys(u1s10);
driver.findElement(By.id("1-PF_17")).sendKeys(u1s11);
driver.findElement(By.id("1-PF_18")).sendKeys(u1s12);
driver.findElement(By.id("1-PF_21")).sendKeys(u1s13);
//Student 2
driver.findElement(By.id("2-PF_7")).sendKeys(u2s1);
driver.findElement(By.id("2-PF_8")).sendKeys(u2s2);
driver.findElement(By.id("2-PF_9")).sendKeys(u2s3);
driver.findElement(By.id("2-PF_10")).sendKeys(u2s4);
driver.findElement(By.id("2-PF_11")).sendKeys(u2s5);
driver.findElement(By.id("2-PF_12")).sendKeys(u2s6);
driver.findElement(By.id("2-PF_13")).sendKeys(u2s7);
driver.findElement(By.id("2-PF_14")).sendKeys(u2s8);
driver.findElement(By.id("2-PF_15")).sendKeys(u2s9);
driver.findElement(By.id("2-PF_16")).sendKeys(u2s10);
driver.findElement(By.id("2-PF_17")).sendKeys(u2s11);
driver.findElement(By.id("2-PF_18")).sendKeys(u2s12);
driver.findElement(By.id("2-PF_21")).sendKeys(u2s13);
//Student 3
driver.findElement(By.id("3-PF_7")).sendKeys(u3s1);
driver.findElement(By.id("3-PF_8")).sendKeys(u3s2);
driver.findElement(By.id("3-PF_9")).sendKeys(u3s3);
driver.findElement(By.id("3-PF_10")).sendKeys(u3s4);
driver.findElement(By.id("3-PF_11")).sendKeys(u3s5);
driver.findElement(By.id("3-PF_12")).sendKeys(u3s6);
driver.findElement(By.id("3-PF_13")).sendKeys(u3s7);
driver.findElement(By.id("3-PF_14")).sendKeys(u3s8);
driver.findElement(By.id("3-PF_15")).sendKeys(u3s9);
driver.findElement(By.id("3-PF_16")).sendKeys(u3s10);
driver.findElement(By.id("3-PF_17")).sendKeys(u3s11);
driver.findElement(By.id("3-PF_18")).sendKeys(u3s12);
driver.findElement(By.id("3-PF_21")).sendKeys(u3s13);
//Student 4
driver.findElement(By.id("4-PF_7")).sendKeys(u4s1);
driver.findElement(By.id("4-PF_8")).sendKeys(u4s2);
driver.findElement(By.id("4-PF_9")).sendKeys(u4s3);
driver.findElement(By.id("4-PF_10")).sendKeys(u4s4);
driver.findElement(By.id("4-PF_11")).sendKeys(u4s5);
driver.findElement(By.id("4-PF_12")).sendKeys(u4s6);
driver.findElement(By.id("4-PF_13")).sendKeys(u4s7);
driver.findElement(By.id("4-PF_14")).sendKeys(u4s8);
driver.findElement(By.id("4-PF_15")).sendKeys(u4s9);
driver.findElement(By.id("4-PF_16")).sendKeys(u4s10);
driver.findElement(By.id("4-PF_17")).sendKeys(u4s11);
driver.findElement(By.id("4-PF_18")).sendKeys(u4s12);
driver.findElement(By.id("4-PF_21")).sendKeys(u4s13);
//Student 5
driver.findElement(By.id("5-PF_7")).sendKeys(u5s1);
driver.findElement(By.id("5-PF_8")).sendKeys(u5s2);
driver.findElement(By.id("5-PF_9")).sendKeys(u5s3);
driver.findElement(By.id("5-PF_10")).sendKeys(u5s4);
driver.findElement(By.id("5-PF_11")).sendKeys(u5s5);
driver.findElement(By.id("5-PF_12")).sendKeys(u5s6);
driver.findElement(By.id("5-PF_13")).sendKeys(u5s7);
driver.findElement(By.id("5-PF_14")).sendKeys(u5s8);
driver.findElement(By.id("5-PF_15")).sendKeys(u5s9);
driver.findElement(By.id("5-PF_16")).sendKeys(u5s10);
driver.findElement(By.id("5-PF_17")).sendKeys(u5s11);
driver.findElement(By.id("5-PF_18")).sendKeys(u5s12);
driver.findElement(By.id("5-PF_21")).sendKeys(u5s13);
//Student 6
driver.findElement(By.id("6-PF_7")).sendKeys(u6s1);
driver.findElement(By.id("6-PF_8")).sendKeys(u6s2);
driver.findElement(By.id("6-PF_9")).sendKeys(u6s3);
driver.findElement(By.id("6-PF_10")).sendKeys(u6s4);
driver.findElement(By.id("6-PF_11")).sendKeys(u6s5);
driver.findElement(By.id("6-PF_12")).sendKeys(u6s6);
driver.findElement(By.id("6-PF_13")).sendKeys(u6s7);
driver.findElement(By.id("6-PF_14")).sendKeys(u6s8);
driver.findElement(By.id("6-PF_15")).sendKeys(u6s9);
driver.findElement(By.id("6-PF_16")).sendKeys(u6s10);
driver.findElement(By.id("6-PF_17")).sendKeys(u6s11);
driver.findElement(By.id("6-PF_18")).sendKeys(u6s12);
driver.findElement(By.id("6-PF_21")).sendKeys(u6s13);
//Student 7
driver.findElement(By.id("7-PF_7")).sendKeys(u7s1);
driver.findElement(By.id("7-PF_8")).sendKeys(u7s2);
driver.findElement(By.id("7-PF_9")).sendKeys(u7s3);
driver.findElement(By.id("7-PF_10")).sendKeys(u7s4);
driver.findElement(By.id("7-PF_11")).sendKeys(u7s5);
driver.findElement(By.id("7-PF_12")).sendKeys(u7s6);
driver.findElement(By.id("7-PF_13")).sendKeys(u7s7);
driver.findElement(By.id("7-PF_14")).sendKeys(u7s8);
driver.findElement(By.id("7-PF_15")).sendKeys(u7s9);
driver.findElement(By.id("7-PF_16")).sendKeys(u7s10);
driver.findElement(By.id("7-PF_17")).sendKeys(u7s11);
driver.findElement(By.id("7-PF_18")).sendKeys(u7s12);
driver.findElement(By.id("7-PF_21")).sendKeys(u7s13);
//Student 8 //
driver.findElement(By.id("8-PF_7")).sendKeys(u8s1);
driver.findElement(By.id("8-PF_8")).sendKeys(u8s2);
driver.findElement(By.id("8-PF_9")).sendKeys(u8s3);
driver.findElement(By.id("8-PF_10")).sendKeys(u8s4);
driver.findElement(By.id("8-PF_11")).sendKeys(u8s5);
driver.findElement(By.id("8-PF_12")).sendKeys(u8s6);
driver.findElement(By.id("8-PF_13")).sendKeys(u8s7);
driver.findElement(By.id("8-PF_14")).sendKeys(u8s8);
driver.findElement(By.id("8-PF_15")).sendKeys(u8s9);
driver.findElement(By.id("8-PF_16")).sendKeys(u8s10);
driver.findElement(By.id("8-PF_17")).sendKeys(u8s11);
driver.findElement(By.id("8-PF_18")).sendKeys(u8s12);
driver.findElement(By.id("8-PF_21")).sendKeys(u8s13);
//Student 9//
driver.findElement(By.id("9-PF_7")).sendKeys(u9s1);
driver.findElement(By.id("9-PF_8")).sendKeys(u9s2);
driver.findElement(By.id("9-PF_9")).sendKeys(u9s3);
driver.findElement(By.id("9-PF_10")).sendKeys(u9s4);
driver.findElement(By.id("9-PF_11")).sendKeys(u9s5);
driver.findElement(By.id("9-PF_12")).sendKeys(u9s6);
driver.findElement(By.id("9-PF_13")).sendKeys(u9s7);
driver.findElement(By.id("9-PF_14")).sendKeys(u9s8);
driver.findElement(By.id("9-PF_15")).sendKeys(u9s9);
driver.findElement(By.id("9-PF_16")).sendKeys(u9s10);
driver.findElement(By.id("9-PF_17")).sendKeys(u9s11);
driver.findElement(By.id("9-PF_18")).sendKeys(u9s12);
driver.findElement(By.id("9-PF_21")).sendKeys(u9s13);
//Student 10//
driver.findElement(By.id("10-PF_7")).sendKeys(u10s1);
driver.findElement(By.id("10-PF_8")).sendKeys(u10s2);
driver.findElement(By.id("10-PF_9")).sendKeys(u10s3);
driver.findElement(By.id("10-PF_10")).sendKeys(u10s4);
driver.findElement(By.id("10-PF_11")).sendKeys(u10s5);
driver.findElement(By.id("10-PF_12")).sendKeys(u10s6);
driver.findElement(By.id("10-PF_13")).sendKeys(u10s7);
driver.findElement(By.id("10-PF_14")).sendKeys(u10s8);
driver.findElement(By.id("10-PF_15")).sendKeys(u10s9);
driver.findElement(By.id("10-PF_16")).sendKeys(u10s10);
driver.findElement(By.id("10-PF_17")).sendKeys(u10s11);
driver.findElement(By.id("10-PF_18")).sendKeys(u10s12);
driver.findElement(By.id("10-PF_21")).sendKeys(u10s13);
//Student 11//
driver.findElement(By.id("11-PF_7")).sendKeys(u11s1);
driver.findElement(By.id("11-PF_8")).sendKeys(u11s2);
driver.findElement(By.id("11-PF_9")).sendKeys(u11s3);
driver.findElement(By.id("11-PF_10")).sendKeys(u11s4);
driver.findElement(By.id("11-PF_11")).sendKeys(u11s5);
driver.findElement(By.id("11-PF_12")).sendKeys(u11s6);
driver.findElement(By.id("11-PF_13")).sendKeys(u11s7);
driver.findElement(By.id("11-PF_14")).sendKeys(u11s8);
driver.findElement(By.id("11-PF_15")).sendKeys(u11s9);
driver.findElement(By.id("11-PF_16")).sendKeys(u11s10);
driver.findElement(By.id("11-PF_17")).sendKeys(u11s11);
driver.findElement(By.id("11-PF_18")).sendKeys(u11s12);
driver.findElement(By.id("11-PF_21")).sendKeys(u11s13);
//Student 12 //
driver.findElement(By.id("12-PF_7")).sendKeys(u12s1);
driver.findElement(By.id("12-PF_8")).sendKeys(u12s2);
driver.findElement(By.id("12-PF_9")).sendKeys(u12s3);
driver.findElement(By.id("12-PF_10")).sendKeys(u12s4);
driver.findElement(By.id("12-PF_11")).sendKeys(u12s5);
driver.findElement(By.id("12-PF_12")).sendKeys(u12s6);
driver.findElement(By.id("12-PF_13")).sendKeys(u12s7);
driver.findElement(By.id("12-PF_14")).sendKeys(u12s8);
driver.findElement(By.id("12-PF_15")).sendKeys(u12s9);
driver.findElement(By.id("12-PF_16")).sendKeys(u12s10);
driver.findElement(By.id("12-PF_17")).sendKeys(u12s11);
driver.findElement(By.id("12-PF_18")).sendKeys(u12s12);
driver.findElement(By.id("12-PF_21")).sendKeys(u12s13);
答案 0 :(得分:0)
我会尝试使用DataFile而不是DataFormatter:
DataFile df = new DataFile("D://OneDrive//ABSEC//ATC_Reporting//expdata.xlsx", "Sheet1");
接下来定义变量列表(假设字符串或整数):
String x = null;
String y = null;
String z = null;
Next循环浏览工作表并将数据分配给变量。 for循环假定您有标题。
for (int i = 1; i < df.getRowCount(); i++) {
//Assign your variables based on the column headers
x = df.getDataFromColumn("Column 1", i);
y = df.getDataFromColumn("Column 2", i);
z = df.getDataFromColumn("Column 3", i);
//now you can use those variables for each row of data
}
根据您上面的代码,您将创建13个变量,然后根据需要进行分配。
看起来你可能需要两个循环,一个学生数组,然后遍历excel数据输入该学生的数据。
String[] students = {"Student 1","Student 2","Student 3"}
for(String student:students){
for (int i = 1; i < df.getRowCount(); i++) {
//Assign your variables based on the column headers
x = df.getDataFromColumn("Column 1", i);
y = df.getDataFromColumn("Column 2", i);
z = df.getDataFromColumn("Column 3", i);
//now you can use those variables for each row of data
}
}
答案 1 :(得分:0)
所以我忘记了DataFile类,所以创建一个名为DataFile的新类,并按如下方式添加这些方法
参数:
private FileInputStream inFile;
private Workbook wb;
private Sheet sheet;
private Hashtable<String, Integer> headers;
DataFile方法:
public DataFile(String filePath, String sheetName){// throws
InvalidFormatException, IOException{
try {
//Open the input stream to the file
inFile = new FileInputStream(filePath);
//Open the workbook from the InputStream and open the Worksheet
wb = WorkbookFactory.create(inFile);
sheet = wb.getSheet(sheetName);
//Keep track of the column headers and their indexes
headers = new Hashtable<String, Integer>();
Row row = sheet.getRow(0);
for(int col=0; col < row.getLastCellNum(); col++){
String curr = row.getCell(col).getStringCellValue();
headers.put(curr, new Integer(col));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (InvalidFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
获取数据列方法:
public String getDataFromColumn(String columnHeader, int rowNumber) {
//Get the column number
Integer colNum = headers.get(columnHeader);
if (colNum == null){
return null;
} else if (rowNumber > sheet.getLastRowNum()){
return null;
}
//Return the data from the specified cell
Cell cell = sheet.getRow(rowNumber).getCell(colNum.intValue());
switch (cell.getCellType()) {
case Cell.CELL_TYPE_STRING:
return cell.getStringCellValue();
case Cell.CELL_TYPE_NUMERIC:
return Double.toString(cell.getNumericCellValue());
case Cell.CELL_TYPE_BOOLEAN:
return Boolean.toString(cell.getBooleanCellValue());
case Cell.CELL_TYPE_BLANK:
return "";
case Cell.CELL_TYPE_FORMULA:
FormulaEvaluator eval = wb.getCreationHelper().createFormulaEvaluator();
switch (eval.evaluateFormulaCell(cell)) {
case Cell.CELL_TYPE_STRING:
return cell.getStringCellValue();
case Cell.CELL_TYPE_NUMERIC:
return Double.toString(cell.getNumericCellValue());
case Cell.CELL_TYPE_BOOLEAN:
return Boolean.toString(cell.getBooleanCellValue());
case Cell.CELL_TYPE_BLANK:
return "";
default:
break;
}
}
return null;
}
获取行计数(如果没有标题,则包括标题修改)
public int getRowCount() {
return this.sheet.getLastRowNum()+1;
关闭文件
public void close() throws IOException {
this.inFile.close();
}
如果您使用的是maven,请将以下依赖项添加到您的pom文件中:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.11</version>
</dependency>