2016-06-14 3 views
3

주어진 .xlsx 파일에서 자바를 사용하여 데이터를 읽으려고합니다.자바에서 Excel (.xlsx) 파일을 읽는 방법은 무엇입니까?

enter image description here

다음과 같이 파일을 읽어 내 코드는 다음과 같이

public static void main(String[] args) throws Exception { 

     FileInputStream file = new FileInputStream(new File("E:\\test1.xlsx")); 
     XSSFWorkbook workbook = new XSSFWorkbook(file); 
     XSSFSheet test = workbook.getSheetAt(0); 

     student emp = new student(); 
     Iterator<Row> itr = test.iterator(); 
     itr.next(); 
     while(itr.hasNext()){ 
       Row row = itr.next(); 
       emp.reedData(row); 
       System.out.println(id+","+name+","+options); 
     } 

방법은 다음과 같습니다

void reedData(Row row){ 
    id= row.getCell(0).toString(); 
    name= row.getCell(1).toString(); 
    options= row.getCell(2).toString(); 
} 

을하지만이 같은, 내가 점점 오전 출력 :

1.0,X,play game 
,,sing song 
2.0,Y,play game 
,,sing song 
대신 위의

, 나는 출력은 다음과 같이 할 : 나는 .xlsx 파일에 두 개의 셀을 병합하고 있기 때문에

1.0,X,{play game,sing song} 
2.0,Y,{play game,sing song} 

이 문제입니다.

의견이 있으십니까? 미리 감사드립니다 ..

+0

당신은 다른 열이있는 모든 다중 행에 대한 옵션 열을 구성하는 두 행을 읽을 필요가있다. – trappski

답변

0

아파치 POI를 사용하고있는 것 같습니다. 와 코드에서이 2 개 개의 세포를 병합 해보십시오 :

test.addMergedRegion(1,2,0,0); 

또는 :

sheet.addMergedRegion(new CellRangeAddress(1,2,0,0)) 
관련 문제