POI

2014-09-24 3 views
0

Ok를 사용하여 지정된 열에서 Excel에서 오류가 발생하도록 작성해야합니다. 일부 코드를 작성하고 물건을 계산 한 후 jxl이 xlsx (POI (XSSF) 만 지원함)를 인식했습니다. 알았어 괜찮아. 내가 뭘 하려는지 문자열 값 "결과"지정된 열에서 셀 검색입니다. 일단 발견되면 테스트가 통과하거나 실패 할 때 비어있는 셀에 "통과"또는 "실패"라고 씁니다. 그리고 그것은 시험 세트가 끝날 때까지 계속 그렇게 할 것입니다. 다음은 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(); 

위의 코드는 매우 간단합니다. 문자열을 찾은 다음 해당 열 이름을 가져오고 길이가 지정된 경우 전달 또는 실패를 작성합니다. POI를 사용하여 수행하는 방법에 대한 아이디어가 있습니까?

+1

POI 빠른 시작 안내서 : http://poi.apache.org/spreadsheet/quick-guide.html – Sizik

답변

1

매우 간단합니다. 간단하게 자신의 POI 대응과 jxl 클래스/메소드를 대체 :

POI는 XSSFWorkbook(java.io.File file) 생성자를 가진 XSSFWorkbookXSSFSheet getSheet(java.lang.String name) 방법이있다.

XSSFSheetXSSFRow getRow(int rownum) 방법을 사용합니다 (예 : getLastRowNum()까지 루프).

XSSFRowXSSFCell getCell(int cellnum, ...) 방법을 가진다.

XSSFCell에는 적절한 getter/setter가 있습니다.

+0

예 XSSF (통합 문서 및 시트)를 쉽게 대체 할 수있었습니다. POI에는 열의 셀 길이를 가져 오는 메소드가 없기 때문에 추가 단계 또는 두 단계가 될 것으로 보입니다. – user2474976