好吧 - 所以我意识到在编写了一些代码并弄清楚了一些东西之后,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/