java - 在 for 循环中使用 row.getlastcellnum() 方法在 Selenium 中写入 excel 工作表会导致 java.lang.IllegalArgumentException

标签 java selenium apache-poi

下面是我的 Selenium 代码,用于在 Excel 工作表中的第一个空列中写入数据:

public void setAllData(int sheetNumber)
    {
        sheet1 = wb.getSheetAt(sheetNumber);
        for(int i = 0; i<rowCount+1; i++)
        {
            row = sheet1.getRow(i);
            **int k = row.getLastCellNum();**
            **for(int j = row.getLastCellNum(); j<row.getLastCellNum()+1; j++)**
            **//for(int j = row.getLastCellNum(); j<k+1; j++)**
            {
                sheet1.getRow(i).createCell(j).setCellValue("Pass");
            }
        }
        try {
            FileOutputStream fos = new FileOutputStream(file);
            wb.write(fos);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        } 
    }

当我使用j<row.getLastCellNum()+1进行for循环时出现以下错误:“java.lang.IllegalArgumentException:无效的列索引 (16384)。EXCEL2007 允许的列范围为 (0..16383) 或 ('A'..'XFD')”

就好像我存储 row.getLastCellNum() 的地方变量(k)中的值,然后在for循环中使用该变量,它工作正常。

最佳答案

获取LastCellNum()

将返回总行数加一。

参见API

关于java - 在 for 循环中使用 row.getlastcellnum() 方法在 Selenium 中写入 excel 工作表会导致 java.lang.IllegalArgumentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42874145/

相关文章:

java - 如何通过任何脚本语言将控制从本地机传递到虚拟机?

java - 如何使用java poi更改Excel单元格中的文本方向?

javascript - 使用 java/javascript 和 apache POI 导出 .xls 文件时文件损坏

c# - 裁剪图像时出现 OutofMemory 错误

java - Java返回结果集的方法

java - 具有覆盖 hashcode() 和 equals() 的 HashMap 在我的情况下不起作用

java - 用于连接到 Heroku WebSocket 端点的 URI

javascript - Protractor : Issue with using executescript to execute javascript on an element

java - 为什么 Apache POI XSSF 无法写入 servlet 响应输出流?

java - 尝试使用httpPost登录moodle,但结果我得到了与我尝试登录相同的页面。 (安卓)