Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 以动态方式将多个记录写入excel的最佳方法是什么?_Java_Selenium_Webdriver_Export To Excel - Fatal编程技术网

Java 以动态方式将多个记录写入excel的最佳方法是什么?

Java 以动态方式将多个记录写入excel的最佳方法是什么?,java,selenium,webdriver,export-to-excel,Java,Selenium,Webdriver,Export To Excel,我正在使用selenium webdriver测试一个ERP应用程序。我需要将结果写入excel工作表。现在我正在为每个步骤编写单独的代码以写入excel。有7个主要模块,每个主要模块中有10个子模块,当我为每个验证步骤编写代码时,这些模块会增加代码大小。 我当前的代码:- Label col12row9 = new Label(12,j,arlogin[3],getCellFormatnormal(redFont)); ws.addCell(col12row9); Label col0row9

我正在使用selenium webdriver测试一个ERP应用程序。我需要将结果写入excel工作表。现在我正在为每个步骤编写单独的代码以写入excel。有7个主要模块,每个主要模块中有10个子模块,当我为每个验证步骤编写代码时,这些模块会增加代码大小。 我当前的代码:-

Label col12row9 = new Label(12,j,arlogin[3],getCellFormatnormal(redFont));
ws.addCell(col12row9);
Label col0row9 = new Label(0, j,"ReqSmok"+i);
ws.addCell(col0row9);
Label col1row9 = new Label(1, j,"Browser Details");
Range col1row9r = ws.mergeCells(1,j, 5, j); 
ws.addCell(col1row9);
Label col6row9 = new Label(6,j,"Get the Browser name ");
Range col2row9r = ws.mergeCells(6,j, 11, j);    
ws.addCell(col6row9);
对于每个条目 我正在寻找一些方法,在那里我可以通过所有的六个值每次,它将写入excel

我期望的代码如下所示:-

private void ResulttoExcellabel(String[] ResulttoExcellabel)
        throws IOException, InterruptedException, WriteException {

    WritableSheet sheet1 = null;
    FileOutputStream f1 = new FileOutputStream(
            "D:\\smoketest_AIM.xls");
    WritableWorkbook wwb = Workbook.createWorkbook(f1);
    sheet1 = wwb.createSheet("result", 0);
    Label l = new Label(1,7,"a[0]");sheet1.addCell(l);
    Label l1 = new Label(1,7,"a[1]");sheet1.addCell(l1);
    Label l2 = new Label(1,7,"a[2]");sheet1.addCell(l2);
    Label l3 = new Label(1,7,"a[3]");sheet1.addCell(l3);
    Label l4 = new Label(1,7,"a[4]");sheet1.addCell(l4);
    Label l5 = new Label(1,7,"a[5]");sheet1.addCell(l5);
    Label l6 = new Label(1,7,"a[6]");sheet1.addCell(l6);
} 在每一步都这样调用它:-ResulttoExcellabel(ResulttoExcellabelr)- 这应将所有值传递给该方法,然后将其写入excel工作表并保存 工作簿。在测试结束时执行写入。 请帮忙。
谢谢。

我想出了一个解决办法 1) 将所有结果获取到列表/字符串中

2) 对字符串数组使用for循环(我的是二维的,比如,结果[x][y]) 3) 再次使用i和j循环表示excel中的列和行,并将结果写入(y=9;y
                for(y=9;y<arraynoofrows+9;y++)
                {
                    testcaseid=testcaseid+1;    
                    String testcaseid1 = String.valueOf(testcaseid);
                    col=0;
                    for(j=0;j<6;j++)
                    {
                        colnum=TestResultcolnumbers[col];
                        Label l = new Label(colnum,y,ar[y-9][j]);ws.addCell(l);
                        System.out.println("value of colnum"+colnum+" value of row number"+y+" value of i "+y+" value of j"+colnum+"value of ar[i][j] "+ar[y-9][j]);
                        col=col+1;
                        System.out.println(colnum);
                    }
                }