메뉴 건너뛰기

조회 수 4389 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
자바의 JXL 라이브러리를 활용하여 엑셀파일을 읽은 후 ArrayList 리턴받기

※ 참고사항
공개된 JXL 라이브러리는 자바 1.4 버전에 컴파일된 듯 하다. 버전이 맞지않아 오류가 발생할 수 있으니 주의하자.
서버에 업로드된 엑셀파일을 열어 HashMap 에 Cell을 담고 List 에 Row를 담아 리턴하는 소스이다.

 ExcelUtils.java


/**
 * @class ExcelUtils
 * @brief 
 *
 * registered date 20100908
 * programmed by Seok Kyun. Choi. 최석균
 * http://syaku.tistory.com
 */

package com.syaku.util;

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

import org.apache.log4j.Logger;

public class ExcelUtils {
  private static Logger log = Logger.getLogger(ExcelUtils.class);

  public List xlsForList(String file_path) throws Exception {
    File file = new File(file_path);

    if (!file.exists()) {
      throw new Exception("파일이 존재하지 않습니다.");
    }

    Workbook workbook = null;
    Sheet sheet = null;
    List list = new ArrayList();

    try {

      workbook = Workbook.getWorkbook(file);
      sheet = workbook.getSheet(0);

      int row = sheet.getRows();
      int col = sheet.getColumns();

      if(row <= 0) { throw new Exception("내용이 없습니다."); }

      for(int i = 0; i < row ; i++) {
        HashMap hm = new HashMap();
        for(int o = 0; o < col ; o++) {
          hm.put("COL"+o,sheet.getCell(o,i).getContents());
        }

        list.add(i,hm);
      }

    } catch (Exception e) {
      e.printStackTrace();
      throw e;
    } finally {
      try {
        if(workbook != null) { workbook.close(); }
      } catch (Exception e) { }
    }

    return list;
  }

}



 예제소스

String excel_file = "/excel.jsp"; // 절대경로의 엑셀파일

ExcelUtils excel = new ExcelUtils();
List result = excel.xlsForList(excel_file);

for (int i =1; i < result.size(); i++) {
  HashMap hm2 = (HashMap)result.get(i);

  out.println(hm2.get("COL0"));
  out.println(hm2.get("COL1"));
  out.println(hm2.get("COL2"));
  out.println(hm2.get("COL3"));
  out.println(hm2.get("COL4"));
  out.println(hm2.get("COL5"));
  out.println(hm2.get("COL6"));
  out.println(hm2.get("COL7"));
  out.println(hm2.get("COL8"));
  out.println(hm2.get("COL9"));
  out.println(hm2.get("COL10"));
  out.println(hm2.get("COL11"));
  out.println(hm2.get("COL12"));
}




List of Articles
번호 제목 날짜 조회 수
151 JSP, Spring, GMail 메일발송 간단 예제 2016.09.12 32791
150 JQuery 자동완성 플러그인 JSDT설치 file 2016.09.19 8896
149 전자정부 프레임워크란? file 2016.09.19 8342
148 파일 읽고쓰는 암호화/복호화 2016.09.21 7385
147 웹브라우저(크롬) 설정하여 웹을 실행해 보자 file 2016.09.19 7202
146 회원가입 폼(form)으로 보는 Validator 구현하는 방법 file 2016.08.29 7108
145 전자정부표준프레임워크 - 설치 file 2016.09.02 6277
144 기본적인 스크립트 보안 2019.01.16 6044
143 eclipse 콘솔(로그)에 디버그(Debug) 모드에서 실행된 쿼리문을 보여주자. - 전자정부프레임워크 오라클 file 2016.08.29 5999
142 공통컴포넌트 생성하기 - 게시판 file 2016.09.19 5754
141 회원가입 양식에서 (필수/옵션)필드 추가/제거하기 file 2016.08.29 5333
140 날짜 시간 포맷 제어 자바 클래스 : JAVA DateUtils Date time file 2016.12.09 5233
139 스프링(Spring)의 Validator 기능을 사용하다가 '정의되지 않음 또는 null 참조인 'type' 속성을 가져올 수 없습니다.'라는 오류를 만났을 때 해결방법 file 2016.08.29 5165
138 System.out.println(); 이클립스에서 자동화기능 사용 file 2016.09.19 5155
137 접근 제한자 private/ protected/ public / default file 2016.10.06 5136
136 전자정부프레임워크 v2.5, v2.6 오라클 세팅하기 file 2016.09.12 5109
135 예외 만들기 2016.09.13 4961
134 MySQL에 All-in-one 설치시 webmaster로 로그인 안되는 문제 해결을 위한 2가지 수정사항 file 2016.08.29 4953
133 다양한 문자 조합을 이용한 카운팅 구하기 2016.12.09 4941
132 자바 XML 제어 라이브러리 XStream : JAVA 2016.12.09 4917
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved