2012-02-23 8 views
0

Excelシートから特定の列のデータを読み込むにはJavaコードが必要です。 - (lo number、line、voucher no、stloc、quantity、activity) 特定の列のこれらの値のセットは、sql query(jdbc-odbc connection done)に使用されます。 クエリの出力はこのシートの列と一致します(この部分は後で行います) 親切に助けてください。 sample excel sheet特定のデータを読み取るJavaプログラム

+0

あなたはExcelシートで作業するためのApache POIを使用することができます。このAPIでコードを作成するのは難しくありません。 – Jayy

答えて

1
/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package excelfilereading; 

/** 
* 
* @author vkantiya 
*/ 
import org.apache.poi.hssf.usermodel.HSSFWorkbook; 
import org.apache.poi.hssf.usermodel.HSSFSheet; 
import org.apache.poi.hssf.usermodel.HSSFRow; 
import org.apache.poi.hssf.usermodel.HSSFCell; 

import java.io.FileInputStream; 
import java.io.IOException; 
import java.util.Iterator; 
import java.util.List; 
import java.util.ArrayList; 

public class Main { 

    @SuppressWarnings("unchecked") 
    public static void main(String[] args) throws Exception { 
// 
// An excel file name. You can create a file name with a full 
// path information. 
// 
     String filename = "FirstExcel.xls"; 


// Create an ArrayList to store the data read from excel sheet. 
// 
     List sheetData = new ArrayList(); 

     FileInputStream fis = null; 
     try { 
// 
// Create a FileInputStream that will be use to read the 
// excel file. 
// 
      fis = new FileInputStream(filename); 

// 
// Create an excel workbook from the file system. 
// 
      HSSFWorkbook workbook = new HSSFWorkbook(fis); 
// 
// Get the first sheet on the workbook. 
// 
      HSSFSheet sheet = workbook.getSheetAt(0); 

// 
// When we have a sheet object in hand we can iterator on 
// each sheet's rows and on each row's cells. We store the 
// data read on an ArrayList so that we can printed the 
// content of the excel to the console. 
// 
      Iterator rows = sheet.rowIterator(); 
      while (rows.hasNext()) { 
       HSSFRow row = (HSSFRow) rows.next(); 
       Iterator cells = row.cellIterator(); 

       List data = new ArrayList(); 
       while (cells.hasNext()) { 
        HSSFCell cell = (HSSFCell) cells.next(); 
        data.add(cell); 
       } 

       sheetData.add(data); 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } finally { 
      if (fis != null) { 
       fis.close(); 
      } 
     } 

     showExelData(sheetData); 
    } 

    private static void showExelData(List sheetData) { 
// 
// Iterates the data and print it out to the console. 
// 
     for (int i = 0; i < sheetData.size(); i++) { 
      List list = (List) sheetData.get(i); 
      for (int j = 0; j < list.size(); j++) { 
       HSSFCell cell = (HSSFCell) list.get(j); 
       System.out.print(
         cell.getRichStringCellValue().getString()); 
       if (j < list.size() - 1) { 
        System.out.print(", "); 
       } 
      } 
      System.out.println(""); 
     } 
    } 
} 
1

Apache POI - Java API for Microsoft Documentsをご覧ください。

これはエクセル(SS = HSSF + XSSF)

    • を覆うワード(HWPF + XWPF)
    • パワーポイント(HSLF + XSLF)
    • OpenXML4J(OOXML)
    • OLE2ファイルシステム(POIFS)
    • OLE2ドキュメント小道具(HPSF)
    • Outlook(HSMF)
    • のVisio(HDGF)TNEF(HMEF)
    • 出版社(HPBF)
  • +0

    jxlもあります。 2つの議論:http://stackoverflow.com/questions/4763624/jexcelapi-vs-apache-poi-which-is-better – heikkim

    関連する問題