2016-06-14 9 views
3

は、私はJavaを使用してデータを読み取るしようとしています。JavaでExcel(.xlsx)ファイルを読むには?与えられた<code>.xlsx</code>ファイルから

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 
代わりに、上記の

は、私は、出力は次のようになりたい:

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

私は.xlsxファイル内の二つのセルをマージしていますので、この問題があります。

提案がありますか? では、Apache POIを使用しているように見えます

+0

あなたが他の列あるすべての複数行のためのオプションの列を構成する両方の行を読んでする必要があります。 – trappski

答えて

0

..事前に感謝します。 であなたのコードでこれらの2つのセルをマージしてみてください。

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

か:

sheet.addMergedRegion(new CellRangeAddress(1,2,0,0))