Selenium与java脚本
我尝试在excel工作表中写入两个数字之和的动态输出,只有最后一行是用excel编写的 我不确定excel工作表是否在没有自动保存的情况下关闭并再次打开以进行下一次输入 我想了解、保存或自动保存javascript,以便在selenium参数化中使用,并在excel中显示动态值 代码如下:Selenium与java脚本,java,excel,selenium,Java,Excel,Selenium,我尝试在excel工作表中写入两个数字之和的动态输出,只有最后一行是用excel编写的 我不确定excel工作表是否在没有自动保存的情况下关闭并再次打开以进行下一次输入 我想了解、保存或自动保存javascript,以便在selenium参数化中使用,并在excel中显示动态值 代码如下: package addegexcelwrite1valuesfl; import java.io.File; import java.io.FileInputStream; import java.io.Fi
package addegexcelwrite1valuesfl;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class addegexcelwrite1valuesfladd {
public int add(int a,int b,int u) {
int c=a+b;
int p;
try {
File src=new File("Filepath");
FileInputStream fis=new FileInputStream(src);
XSSFWorkbook wb=new XSSFWorkbook();
XSSFSheet sh11= wb.createSheet();
XSSFRow row=sh11.getRow(u);
sh11.createRow(u).createCell(0).setCellValue(c);
FileOutputStream fout=new FileOutputStream("Filepath");
wb.write(fout);
}
catch (Exception e) {
System.out.println(e.getMessage());
}
return c;
}
}
a
,b
是用于添加数字的输入,u
是excel的行号,我试图从中读取并传递输入a
,b
。当我传递第一个参数时,例如a=1,b=2,c存储在(0,0)单元格中,但下一次循环运行时,下一个输入是a
,b
,单元格(0,0)中的前一个值消失了,同样只有最后一个单元格值出现。我认为您的问题可能是使用了sh11.createRow(u)
。看下面的句子(我的重点):
在工作表中创建新行并返回高级表示注释:如果此位置已存在行,则删除/覆盖该行,并删除任何现有单元格强>
因此,您可能不需要创建行u
,而是获取最后一行,然后创建行last+1:
int lastRowNumber = sh11.getLastRowNum();
sh11.createRow(lastRowNumber + 1).createCell(0).setCellValue(c);
你认为你可以发布你的代码的例子吗?有了这些,也许有人能够指出错误并帮助您修复。谢谢@Alpha,现在已经以预期的格式在这里发布了代码。a,b是添加数字的输入,u是excel的行号,我正试图从中读取并传递输入a,b。当我传递第一个参数时,例如a=1,b=2,c存储在(0,0)中第个单元格,但下一次循环使用a,b的下一个输入运行时,单元格(0,0)中的上一个值将消失,同样,只有我的最后一个单元格值出现。非常感谢,我将尝试使用这种方式@Alpha