好的 - 所以我意识到在写完一些代码并找出东西后,jxl不支持xlsx,只支持POI(XSSF)。好的。我想要做的是搜索一个字符串值为&#34的单元格;结果"在指定的列中。一旦我找到了,那么当测试通过或失败时,它会写入" Pass"或"失败"在空白的单元格中。它将继续这样做,直到测试集完成。这是我用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();
以上是非常简单的,我找到了字符串,然后获取该列名称并根据长度写入pass或fail。关于如何使用POI做任何想法?
答案 0 :(得分:1)
这也很简单。只需将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。