java - 我需要使用 POI 在 excel 中的指定列写入通过失败

标签 java excel apache-poi testng

好吧 - 所以我意识到在编写了一些代码并弄清楚了一些东西之后,jxl 不支持 xlsx,只支持 POI (XSSF)。好的。我想做的是在指定列中搜索具有字符串值“Result”的单元格。一旦我发现这一点,那么当测试通过或失败时,它会在空白单元格中写入“通过”或“失败”。它将继续这样做,直到测试集完成。这是我使用 jxl 编写的代码。

WritableWorkbook wb = Workbook.createWorkbook(new File(testData), workbook);
        WritableSheet ws = wb.getSheet("OrderCreateQA3");
        int colCount = ws.getColumns();
        for(int j=0; j<colCount; j++){
            Cell cell = ws.getCell(j,0);
            if(cell.getContents().contains("Result")){
                Cell[] cells = ws.getColumn(j);
                int len = cells.length;
                Label label = new Label(j,len, "Fail", getCellFormat(Colour.RED));
                ws.addCell(label);
                break;
            }
        }

        wb.write();
        wb.close();

上面的内容非常简单,我找到字符串,然后获取该列名称并根据给定的长度写入通过或失败。关于如何使用 POI 来做这件事有什么想法吗?

最佳答案

这也非常简单。只需将 jxl 类/方法替换为其 POI 对应项:

POI 有 XSSFWorkbook 使用 XSSFWorkbook(java.io.File file) 构造函数和 XSSFSheet getSheet(java.lang.String name) 方法。

XSSFSheet 有一个 XSSFRow getRow(int rownum) 方法(例如循环直到 getLastRowNum())。

XSSFRow 有一个 XSSFCell getCell(int cellnum, ...) 方法。

XSSFCell 具有适当的 getter/setter。

关于java - 我需要使用 POI 在 excel 中的指定列写入通过失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26025413/

相关文章:

java.lang.NoSuchMethodError : org. apache.poi.util.IOUtils.copy(Ljava/io/InputStream;Ljava/io/OutputStream;)

java - 无法将 : receive user input "yes" or "y", boolean 值翻转为 true

vba - 如何检查 Excel 工作表是否受到保护?

Java gui框架的第二个函数

透视数据所需的 Excel Vlookup 公式

vba - 在 VBA 中搜索多个术语的文档?

java - Apache POI 注释 Excel

java - 更新 Apache POI 4.0 后 - 无法识别属性 'http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit'

java - 从数据库获取信息

java - Spring Boot 无法解析字符串中的占位符