java - 将多个数据写入 Excel 文件

标签 java selenium selenium-webdriver cucumber

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

    List<WebElement> products = driver.findElements(By.xpath("//label[contains(text(),'Size')]"));
    for (WebElement product:products){
        SetCellData(product.getText(),1,0);

最佳答案

所以这取决于您想要的数据方式。
我猜你正在使用 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);
        }
    }

因此,如果您希望每个元素位于 1 行中。您将执行 Cell cellToFill = row.createCell(nextCellColNumber)

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

关于java - 将多个数据写入 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52322018/

相关文章:

java - @Transactional 和packagesToScan 是相互关联的吗?

java - Kerberos 身份验证错误 - 从 SharedPath 加载 Hadoop 配置文件时

java - 警报 - Selenium

Python Selenium::Element 当前不可见

java - Selenium WebDriver 和下拉框

java - Selenium WebDriver Java 使用动态 ID 定位元素

java - 在运行时将方法名称转换为 bean 名称?

java - 更新数据库中的记录 - JSF JPA 等

Python/Selenium 隐身/私有(private)模式

java - 通过 Java 和 Selenium 启动 Internet Explorer 时出现 "OsProcess checkForError : CreateProcess error=193, %1 is not a valid Win32 application"