将excel单元格内容附加到新的excel文件

时间:2013-01-29 09:54:59

标签: java webdriver apache-poi selenium-webdriver jxl

我有一段代码可以读取内容并将其粘贴到新的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中。这将被一次又一次地覆盖。我想追加多张表格中的所有多个已执行的案例,并且必须附加结果。那可能吗 ?请帮忙。

1 个答案:

答案 0 :(得分:1)

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

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

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

为了解决这个问题,至少将新创建的数据表放在一个单独命名的变量中,并在进入循环之前将原始数据表的宽度和高度存储在变量中,这样它们就不会在执行过程中被改变。循环。从它的外观来看,你也是在没有实际使用它的情况下从数据表中获取数据,还是仅仅是我?