使用 Java 和 JXL / JExcel 阅读电子表格
Reading spreadsheets with Java and JXL / JExcel
我的代码正在打开电子表格并只读取最后一行...我做错了什么?
Workbook workbook = Workbook.getWorkbook(new File("C:/promocoes.xls"));
//Number of lines of plannilha
Sheet sheet = workbook.getSheet(0);
int linhas = sheet.getRows();
for(int i = 0; i < linhas; i++){
Cell a1 = sheet.getCell(0, i);
Cell a2 = sheet.getCell(1, i);
String as1 = a1.getContents();
String as2 = a2.getContents();
nomepromocao = as1;
tipopromocao = as2;
}
workbook.close();
driver.findElement(By.name("nomePromocao")).sendKeys(nomepromocao);
driver.findElement(By.name("descPromocao")).sendKeys(tipopromocao);
您需要在循环中的下一次迭代之前使用这些值:
Workbook workbook = Workbook.getWorkbook(new File("C:/promocoes.xls"));
Sheet sheet = workbook.getSheet(0);
int rowCount = sheet.getRows();
for(int i = 0; i < rowCount; i++){
String nomePromocao = sheet.getCell(0, i).getContents();
String descPromocao = sheet.getCell(1, i).getContents();
driver.findElement(By.name("nomePromocao"))
.sendKeys(nomePromocao);
driver.findElement(By.name("descPromocao"))
.sendKeys(descPromocao);
}
workbook.close();
您还可以存储这些值以备后用:
// to store all the records
List<HashMap> records = new ArrayList<HashMap>();
Workbook workbook = Workbook.getWorkbook(new File("C:/promocoes.xls"));
Sheet sheet = workbook.getSheet(0);
int rowCount = sheet.getRows();
for(int i = 0; i < rowCount; i++){
HashMap<String, String> record = new HashMap<String, String>();
record.put("nomepromocao", sheet.getCell(0, i).getContents());
record.put("tipopromocao", sheet.getCell(1, i).getContents());
records.add(record);
}
workbook.close();
// to iterate each record
for(HashMap<String, String> record : records){
driver.findElement(By.name("nomePromocao"))
.sendKeys(record.get("nomepromocao"));
driver.findElement(By.name("descPromocao"))
.sendKeys(record.get("descPromocao"));
}
我的代码正在打开电子表格并只读取最后一行...我做错了什么?
Workbook workbook = Workbook.getWorkbook(new File("C:/promocoes.xls"));
//Number of lines of plannilha
Sheet sheet = workbook.getSheet(0);
int linhas = sheet.getRows();
for(int i = 0; i < linhas; i++){
Cell a1 = sheet.getCell(0, i);
Cell a2 = sheet.getCell(1, i);
String as1 = a1.getContents();
String as2 = a2.getContents();
nomepromocao = as1;
tipopromocao = as2;
}
workbook.close();
driver.findElement(By.name("nomePromocao")).sendKeys(nomepromocao);
driver.findElement(By.name("descPromocao")).sendKeys(tipopromocao);
您需要在循环中的下一次迭代之前使用这些值:
Workbook workbook = Workbook.getWorkbook(new File("C:/promocoes.xls"));
Sheet sheet = workbook.getSheet(0);
int rowCount = sheet.getRows();
for(int i = 0; i < rowCount; i++){
String nomePromocao = sheet.getCell(0, i).getContents();
String descPromocao = sheet.getCell(1, i).getContents();
driver.findElement(By.name("nomePromocao"))
.sendKeys(nomePromocao);
driver.findElement(By.name("descPromocao"))
.sendKeys(descPromocao);
}
workbook.close();
您还可以存储这些值以备后用:
// to store all the records
List<HashMap> records = new ArrayList<HashMap>();
Workbook workbook = Workbook.getWorkbook(new File("C:/promocoes.xls"));
Sheet sheet = workbook.getSheet(0);
int rowCount = sheet.getRows();
for(int i = 0; i < rowCount; i++){
HashMap<String, String> record = new HashMap<String, String>();
record.put("nomepromocao", sheet.getCell(0, i).getContents());
record.put("tipopromocao", sheet.getCell(1, i).getContents());
records.add(record);
}
workbook.close();
// to iterate each record
for(HashMap<String, String> record : records){
driver.findElement(By.name("nomePromocao"))
.sendKeys(record.get("nomepromocao"));
driver.findElement(By.name("descPromocao"))
.sendKeys(record.get("descPromocao"));
}