2014-09-24 62 views
0

在excel中写入excel中的pass fail。所以我意识到,在编写一些代码并计算出东西之后,jxl不支持xlsx,仅支持POI(XSSF)。好的。我想要做的是在指定的列中搜索一个字符串值为“Result”的单元格。一旦我发现,那么当测试通过或失败时,它会在空白单元格中写入“通过”或“失败”。在测试集完成之前它会继续这样做。这是我使用jxl编写的代码。我需要使用POI

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(); 

上面是非常简单的,我找到了字符串,然后获取该列名称并写入通过或失败给定的长度。有关如何使用兴趣点做到这一点的想法?

+1

POI快速入门指南:http://poi.apache.org/spreadsheet/quick-guide.html – Sizik 2014-09-24 20:11:38

回答

1

这也很简单。简单地与他们同行的POI更换jxl类/方法:

POI有XSSFWorkbookXSSFWorkbook(java.io.File file)构造和XSSFSheet getSheet(java.lang.String name)方法。

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

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

XSSFCell有合适的获取者/设定者。

+0

是的我可以很容易地使用XSSF(工作簿和表)来替换。看起来这将是一个或两个额外的步骤,因为POI没有获取列的单元格长度的方法。 – user2474976 2014-09-24 20:36:14