将多个数据写入Excel文件

问题描述 投票:0回答:1

我有一个webelements列表,我需要在Excel的单独单元格中编写列表中的每个元素。目前,当例如我在列表中有2个元素时,第二个删除单元格中的第一个元素。

    List<WebElement> products = driver.findElements(By.xpath("//label[contains(text(),'Size')]"));
    for (WebElement product:products){
        SetCellData(product.getText(),1,0);
java selenium selenium-webdriver cucumber
1个回答
1
投票

所以这取决于你想要的数据。 我猜你正在使用apache poi。或类似的东西 你的循环不会在它写入同一个单元格的工作簿中移动 这是我从教程中提取的一个例子

 //This data needs to be written (Object[])
    Map< String, Object[] > empinfo =
            new TreeMap<>();
    empinfo.put( "1", new Object[] { "EMP ID", "EMP NAME", "DESIGNATION" });
    empinfo.put( "2", new Object[] { "tp01", "Gopal", "Technical Manager" });
    empinfo.put( "3", new Object[] { "tp02", "Manisha", "Proof Reader" });
    empinfo.put( "4", new Object[] { "tp03", "Masthan", "Technical Writer" });
    empinfo.put( "5", new Object[] { "tp04", "Satish", "Technical Writer" });
    empinfo.put( "6", new Object[] { "tp05", "Krishna", "6546984651685465132198651324984351" });

    //Iterate over data and write to sheet
    Set< String > keyid = empinfo.keySet();
    int rowid = 0;

    for (String key : keyid) {
        row = spreadsheet.createRow(rowid++);
        Object [] objectArr = empinfo.get(key);
        int cellid = 0;

        for (Object obj : objectArr) {
            Cell cell = row.createCell(cellid++);
            cell.setCellValue((String)obj);
        }
    }

所以如果你想要每行中的每个元素。你会做Cell cellToFill = row.createCell(nextCellColNumber)

如果你想要一个垂直列表,它将创建Row创建单元格(0)并在那里设置值

© www.soinside.com 2019 - 2024. All rights reserved.