출처 : http://nadachel.tistory.com/entry/자바java로-엑셀excel-읽기read-1

ⅰ.
엑셀을 자바로 읽을(쓰는것 포함) 수 있도록 하는 방법은 jxl과 poi 두가지 방법이 있는데 우선 그나마 간단한 jxl 방법을 몇자 적어 보도록 하겠다.
( jxl과poi차이나 특성, 프로젝트 정보등은 검색엔진을 이용하길 바란다. )

 우선
http://www.andykhan.com/jexcelapi/download.html 에 가서 최신jexcelapi.tar 파일을 다운로드 하고 압축을 풀면 파일안에 jxl.jar파일이 있다. 이 jar파일을 인식 시키기 위하여, 자바가 설치된 곳의 라이브러리 폴더에 이 파일을 넣는다. (예 : C:/Program Files/Java/jdk1.6.0_01/jre/lib/ext/jxl.jar).

 쓰기 등을 원하거나 다른 것을 원할때는
http://www.andykhan.com/jexcelapi/tutorial.html로 가면 tutorial이 있으니 이걸 참고하길 바란다.

--참고로 엔디칸인가 하는 주인장 한테 메일 보내 봤는데 답장이 없으니 편지 보내지는 말자.

ⅱ. 그럼 예문을 만들어 보면

/***************************************************************
*  기          능   :  엑셀파일 읽어 String으로 반환
*     Function    :  getData(int row) row : 읽을 시작행 번호
*  참          조   :  C:/Program Files/Java/jdk1.6.0_01/jre/lib/ext/jxl.jar
*  Return value  :  String
*  작    성    자  :  유 진 철
*  작    성    일  :  2007-08-17
/***************************************************************/

import jxl.*;
import java.io.*;
import java.util.*;

public class ReadXLS
{
   String filename = null;

   //ReadXLS 생성자
   public ReadXLS(String filename)
   {
      this.filename = filename.trim();  
   }

   //String 반환하는 메소드
   public String getData(int row) throws Exception
   {
      //파일 생성및 데이터 선언
      StringBuffer cellData = new StringBuffer();                     
      File file = new File(filename); 

      //존재여부 판단
      if(file.exists())
      {
         //파일여부 판단
         if(file.isFile())
         {
            StringTokenizer st = new StringTokenizer(filename, ".");
            String xls = null;

            //파일 확장자 구하기
            while(st.hasMoreTokens())
            {
               xls = st.nextToken();  
            }

            //확장자 엑셀파일 여부판단
            if(xls.equals("xls"))
            {
               //엑셀정보 에서 쉬트정보 가져오기
               Workbook workbook = Workbook.getWorkbook(file);
               Sheet sheet = workbook.getSheet(0);
              
              //데이터 생성및 구분자 삽입 col=>[xxx] / row=>\n
               for (int i=row; i<sheet.getRows(); i++ )
               { 
                  for (int j=0; j<sheet.getColumns(); j++ )
                  { 
                     Cell cell = sheet.getCell(j,i);
                     cellData.append("["+cell.getContents().trim()+"]");
                                  
                  }
                  cellData.append("\n");
               }            
               workbook.close();
            }
            else
            {
               throw new Exception("엑셀파일이 아닙니다.");
            }

         }
         else
         {
            throw new Exception("파일이 아닙니다.");
         }
      }
      else
      {        
         throw new Exception("존재하지 않는 이름 입니다.");
      }           
      return new String(cellData);//String 반환
   }//end getData()

   public static void main(String [] args)
   {
      try
      {
         ReadXLS readxls = new ReadXLS("ex.xls");
         String xls = readxls.getData(0); //0번 행 부터 읽기      
         System.out.println(xls );
      }//End Of try
      catch (Exception e)
      {
         e.printStackTrace();
      }//End Of catch     
   }//End Of Main 
  
}


/*
다음과 같은 프로그램을 컴파일 해서 돌리면(물론 같은 폴더에 ex.xls라는 엑셀 파일을 하나 실험용으로 만들어서 넣어둔다.)
[xxx][xxx][xxx]...
[xxx][xxx][xxx]
[][][][][][][][]
[][][][][][][][]
.
.
.
이런 식으로 결과가 나온다.
프로그램에서 파일겍체를 만들거나 하는것은 안전한 실행을 위해서 한것이고 핵심은 색상이 다른 부분을 중점적으로 보면 될것이다.
*/

Posted by [czar]
,