我需要在使用POI的指定列上写excel的pass失败

好的 – 所以我意识到在编写一些代码并弄清楚之后,jxl不支持xlsx,只支持POI(XSSF)。 好的。 我想要做的是在指定的列中search一个string值为“Result”的单元格。 一旦我发现,那么当testing通过或失败时,它会在空白的单元格中写入“通过”或“失败”。 它将继续这样做,直到testing集完成。 这是我用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(); 

上面是相当简单的,我findstring,然后获得该列名称,并写入通过或失败的长度。 任何想法如何使用兴趣点做到这一点?

这也很简单。 只需将jxl类/方法replace为其POI对应项即可:

POI有一个带有XSSFWorkbook(java.io.File file)构造函数的XSSFSheet getSheet(java.lang.String name)和一个XSSFSheet getSheet(java.lang.String name)方法。

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

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

XSSFCell有适当的getter / setter。