2014-09-24 63 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