2014-09-17 3 views
0

은 내가 @RunWith (Parameterized.class)를 사용하여 paramterized junit testxls을 Apache POI의 Collection <String[]>으로 변환하는 방법?

@Parameterized.Parameters 
public static Collection<String[]> testdata() { 
    return Arrays.asList(new String[][] { 
      { "inParam1", "inPAram2", "expectedOut1", "expectedOut2" } 
     }); 
} 

실제 testdata로는 엑셀을 통해 사업 사람들에 의해 생성된다을 만들고 싶어.

문자열 배열의 지정된 Collection에 Apache POI XSSFSheet을 가져 오는 쉽고 일반적인 방법이 있습니까?

예인 경우 예를 들어주세요.

나는이 질문에 발견 Datadriven Testing in TestNG using Apache POI를 ---하지만 난 3 라이너 ;-)

답변

2

그것은 꽤 3 라이너없는의 종류를 기대하지만 정확하게 사용자의 요구를 이해 한 가정하면 정의 된 모든 행과 셀, 언제든지, 당신에게 문자열 목록의 목록을 생성합니다

Sheet sheet = workbook.getSheetAt(0); 
DataFormatter fmt = new DataFormatter(); 
List<List<String>> cellData = new ArrayList<List<String>>(); 
for (Row r : sheet) { 
    List<String> rd = new ArrayList<String>(); 
    for (Cell c : r) { 
     rd.add(fmt.formatCellValue(c)); 
    } 
    cellData.add(rd); 
} 

, 행마다 하나 개의 목록, 즉 세포 당 하나의 문자열 : 당신이 뭔가를 할 수 있습니다. 당신은 배열을 목록에서 전환 할 수 있습니다 비교적 쉽게

당신이 Iterating guide in the documentation

+0

큰 볼, 빈 것들에 대한 포함 /가 포함되어 있지 않습니다 무엇 세포/행을 더 세밀하게 제어해야 할 경우, 덕분에 많은 – Bastl

관련 문제