我有一段代码可以读取内容并将其粘贴到新的Excel文件中
代码是
for(int rownum=2; rownum<=datatable.getRowCount(testName); rownum++)
for(int colnum=1; colnum<=datatable.getColumnCount(testName); colnum++) {
datatable.getCellData(testName, "Serial", rownum);
// Get value of other column Serial :)
String getdata = datatable.getCellData(testName, "Rules", rownum);
if (datatable.getCellData(testName, "Serial", rownum).equals(serial)) {
datatable.getCellData(testName, colnum, rownum);
datatable.setCellData(testName, "Result", rownum,"PASS" );
datatable = new Xls_Reader(System.getProperty("user.dir")+"//src//config//Result.xlsx");
datatable.setCellData("Data Sheet", "Results", rownum,"PASS" );
datatable.setCellData("Data Sheet", "Summary", rownum, getdata);
}
}
现在将它作为(String,string)传递,这是针对运行的单个测试用例。问题是当我将内容插入结果时,它将存储在单元格2,3中。这将被一次又一次地覆盖。我想追加多张表格中的所有多个已执行的案例,并且必须附加结果。那可能吗 ?请帮忙。
答案 0 :(得分:1)
我会做一个疯狂的猜测,但我想我知道发生了什么。
在此代码段开始之前,您已读入存储在dataSheet变量中的XSL表。片段开头的for循环将查看dataSheet变量的内容,以检查每次迭代的完成条件。
如果序列值等于某个值,则执行一些操作,然后使用新文档覆盖datasheet变量,在该文档中继续存储一些值。当循环完成时,它将查看新的数据表是否循环是否完整,并且据我所知,将永远这样,在每次迭代时替换原始文档。
为了解决这个问题,至少将新创建的数据表放在一个单独命名的变量中,并在进入循环之前将原始数据表的宽度和高度存储在变量中,这样它们就不会在执行过程中被改变。循环。从它的外观来看,你也是在没有实际使用它的情况下从数据表中获取数据,还是仅仅是我?