2017-12-01 18 views
-7

私は、excelファイルから読み込むためにApacheのpoiの助けを借りてJavaプログラムを作成しています。オブジェクトの配列を作成するプログラムをExcelから作成したい、DBを更新する。ファイルを読み込んでデータベーステーブルに挿入する配列を作成するjavaプログラム

私はapache poiの助けを借りて(例を使って)Excelファイルを読むことができますが、Excelファイルを読み込んだ後、すべてのデータを持つjavaで配列を作成する方法がわかりません。 最初の行はテーブルフィールド(つまり列名:EX名、IDなど)を表します。

1)ロジックは、Excelファイル内で順序が逆転/変更されても列を検出できるほどスマートでなければなりません。テーブルの 例:


コード:

XSSFSheet sheet = workbook.getSheetAt(0); 
    Iterator <Row> rowIterator = sheet.iterator(); 
    while (rowIterator.hasNext()) { 
     row = (XSSFRow) rowIterator.next(); 
     Iterator <Cell> cellIterator = row.cellIterator(); 

     while (cellIterator.hasNext()) { 
      Cell cell = cellIterator.next(); 

      switch (cell.getCellType()) { 
       case Cell.CELL_TYPE_NUMERIC: 
       System.out.print( 
       cell.getNumericCellValue() + " \t\t "); 
       break; 

       case Cell.CELL_TYPE_STRING: 
       /*System.out.print(
       cell.getStringCellValue() + " \t\t "); 
       */break; 
      } 
     } 
     System.out.println(); 
    } 
+0

この記事へのあなたのコードを追加し、誰もがそれなしであなたを助けることができます。また、Excelファイルのデータをデータベースに書き込もうとしていますか? – FrankK

+0

あなたのコードはどこですか? –

+0

あなたの現在のコードスニペットを含むあなたの質問をクリアする必要があります。ここであなたのコードの努力を示していない直接ロジックを求めないでください – WpTricks24

答えて

0
 XSSFWorkbook workbook = new XSSFWorkbook(file); 
     XSSFSheet sheet = workbook.getSheetAt(0); 
     Iterator <Row> rowIterator = sheet.iterator(); 
// using for loop on rows of excel sheet 
     for(int i=sheet.getFirstRowNum()+1;i<=sheet.getLastRowNum();i++){ 
       Row ro=sheet.getRow(i); 
       for(int j=ro.getFirstCellNum();j<ro.getLastCellNum();j++){ 
        Cell ce = ro.getCell(j); 
        DataFormatter formatter = new DataFormatter(); 
        String str = formatter.formatCellValue(ce); 
      //add the logic to update the aaray   
      } 

     } 
関連する問題