1

我有一段代码可以读取内容并将其粘贴到新的 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) 传递的,这是针对运行的单个测试用例的。问题是当我将 Contents 插入 Result 时,它将存储在单元格 2, 3 中。这将被一次又一次地覆盖。我想附加多个工作表中的所有多个执行案例,并且必须附加结果。那可能吗 ?请帮忙。

4

1 回答 1

1

我会做一个疯狂的猜测,但我想我知道发生了什么。

在开始这段代码之前,您已经阅读了存储在 dataSheet 变量中的 XSL 表。片段开头的 for 循环将查看 dataSheet 变量的内容,以检查每次迭代的完成条件。

如果序列值等于某个值,则执行一些操作,然后用新文档覆盖数据表变量,然后在其中存储一些值。当循环完成时,它将查看新的数据表循环是否完成,据我所知,它将永远这样下去,在每次迭代时替换原始文档。

为了解决这个问题,至少将新创建的数据表放在一个单独命名的变量中,并在进入循环之前将原始数据表的宽度和高度存储在变量中,这样它们在循环执行期间不会被更改。从外观上看,您也是从数据表中获取数据而不实际使用它,还是只有我一个人?

于 2013-01-29T16:37:36.330 回答