我需要将3列值存储在3个不同的变量中,并将其传递给Excel写操作代码。可以有人提供一个很好的逻辑为那。我是用poi框架为excel操作。
Here are the steps
------------------
- Step 1: Navigate to the page containing 100 rows (Say Page 1)
- Step 2: Click on the first rows
- Step 3: Navigate to the details page of that rows
- Step 4: Fetch the details from page such as 'Name','Email', 'Address'
- Step 5: Write the 'Name', 'Email', 'Address' date to
an excel sheet in 3 different columns
- Step 6: Navigate back to the Page 1.
- Step 7:Click on the 2ND Row and Continue the step 3 to 6
- Step 8:Exit the loop after getting the 100 rows and writing to excel
sheet.
Code I have Tried
-----------------
//To find the Parent Table
Element =driver.findElement(By.className("LevelExtreme"));
System.out.print("True 2");
//To find the Table Row
List<WebElement> list= Element.findElements(By.xpath(".//tr[@class='MouseOverOut']"));
System.out.println("countRows="+list.size());
countRows=countRows+1;
//driver.switchTo().defaultContent();
Thread.sleep(4000);
//For Loop for performing Number of Rows in the table and Iterating to each element
for(int ExcelRow=0;ExcelRow<=countRows;ExcelRow++)
{
Thread.sleep(5000);
System.out.println("Row=" +ExcelRow);
Element =driver.findElement(By.className("LevelExtreme"));
System.out.println("i Value="+ExcelRow);
int j=ExcelRow+3;
Element.findElement(By.xpath("//table[@id='LevelExtreme']/tbody/tr["+j+"]/td[3]/a")).click();
//To get the details of each member
getDetailsOfMembers();
System.out.println("J Value="+j);
Thread.sleep(5000);
driver.navigate().back();
Thread.sleep(15000);
System.out.println("Back Button Pressed("+ExcelRow+")");
}
}
public void getDetailsOfMembers() throws EncryptedDocumentException, InvalidFormatException, IOException
{
//Fetching the details of each member
Element= driver.findElement(By.xpath(".//*[@id='Form1']/table[2]/tbody/tr/td[2]"));
String Name= Element.getText();
Element= driver.findElement(By.xpath(".//*[@id='Form1']/table[3]/tbody/tr[1]/td[3]"));
String Member_ID= Element.getText();
Element= driver.findElement(By.xpath(".//*[@id='Form1']/table[3]/tbody/tr[3]/td[3]"));
String Email_ID= Element.getText();
Datas[ExcelRow][0]=Name;
Datas[ExcelRow][1]=Member_ID;
Datas[ExcelRow][2]=Email_ID;
//Excel Write operation
FileInputStream fis=new FileInputStream("E:\\ExcelRead.xls");
Workbook wb=WorkbookFactory.create(fis);
Sheet sh=wb.getSheet("Input");
//writing the content to 3 column(Here is where I am stuck)
Row row=sh.createRow(ExcelRow);
Cell cell_1=row.createCell(1);
cell_1.setCellValue(Name);
Cell cell_2=row.createCell(2);
cell_2.setCellValue(Member_ID);
Cell cell_3=row.createCell(3);
cell_3.setCellValue(Email_ID);
//Excel write operation code
FileOutputStream fos=new FileOutputStream("E:\\ExcelRead.xls");
// write operation code
wb.write(fos);
fos.close();
System.out.println("Excel File Written.");
这应该有效:
row=sheet.createrow(rowNum)//在此处指定行号
然后在行中创建单元格:
问题内容: 是什么区别,和? 我认为使用一个等号表示变量,而使用两个等号表示比较条件,最后使用三个等号表示比较变量的值。 问题答案: 你的 赋值操作符 ,在 “平等”比较操作 和对 “相同”的比较操作 。
问题内容: 有什么办法可以找到3个不同列的最大值?我正在尝试查找3列值高于指定值的记录,并尝试避免在查询中进行如下操作: 表结构是这样的: 并选择像这样: 问题答案: 您需要使用GREATEST 像那样
我有一个具有name(string)和age(int)属性的类Person: 我创建了一个人的列表,并使用年龄进行比较。 如果两个项目的年龄相等,如何使用名称进行比较?
3. 变量 这一节我们详细看看Makefile中关于变量的语法规则。先看一个简单的例子: foo = $(bar) bar = Huh? all: @echo $(foo) 我们执行make将会打出Huh?。当make读到foo = $(bar)时,确定foo的值是$(bar),但并不立即展开$(bar),然后读到bar = Huh?,确定bar的值是Huh?,然后在执行规则all:的命
3. 变量 变量(Variable)是编程语言最重要的概念之一,变量是计算机存储器中的一块命名的空间,可以在里面存储一个值(Value),存储的值是可以随时变的,比如这次存个字符'a'下次存个字符'b',正因为变量的值可以随时变所以才叫变量。 常量有不同的类型,因此变量也有不同的类型,变量的类型也决定了它所占的存储空间的大小。例如以下四个语句定义了四个变量fred、bob、jimmy和tom,它们
当我在类中声明/初始化变量时(setter和getter)。如何从另一个类更改此值