2012-02-02 2 views
0

엑셀 파일을 읽고 DB에 모든 데이터를 전달하려고합니다. 몇 가지 코드 예제를 발견했지만 모두 외부 항아리가 필요했습니다. 표준 라이브러리 만 사용하여 Excel 파일을 읽으려면 어떻게해야합니까?외부 jar없이 자바로 엑셀 파일을 읽는 방법

답변

5

라이브러리를 사용하고 싶지 않은 경우 Excel file format specs from MS을 다운로드하고 Excel 파서를 직접 작성해야합니다 (이는 매우 복잡하며 개발자 한 명당 10 년 이상 소요됩니다). OpenXML 형식 사양은 herehere을 참조하십시오. 따라서

난 정말 그것에 대해 라이브러리를 사용하는 것이 좋습니다 ...

을 시도 Apache POI - 당신은 엑셀 파일로 저장할 수 있습니다 MS Office 문서를 처리하는 무료 자바 라이브러리 ..

+0

내 프로젝트에 라이브러리를 추가하고 싶지 않습니다. – Ofer

+3

@OperTaviv 라이브러리를 추가하고 싶지 않다면 MS에서 Excel 파일 형식 사양을 다운로드하고 Excel 파서를 직접 작성해야합니다 (이는 매우 복잡하며 개발자 한 명당 10 년 이상 소요됩니다). – Yahia

+4

미안하지만 그건 바보 같은 생각이야. Excel 파일 형식을 읽으려면 복잡한 코드를 많이 작성해야합니다. 정말로 외부 라이브러리를 사용하고 싶지 않으면 CSV와 같은 다른 형식을 사용해야합니다. 기존의 라이브러리를 사용하지 않고 XLS를 읽으려는 시도는 고무 농장을 구입하여 자동차를 제작하기 시작하는 것과 같습니다. – Axel

0

* .cvs 및 sperated ";". 그런 다음 파일을 한 줄씩 읽고 각 토큰에서 가져 오는 열을 가져올 수 있습니다.

+0

알아요,하지만 엑셀에서 CSV 로의 변환은 utf-8 – Ofer

0

Microsoft excel은 이진법을 사용하여 데이터를 저장하므로 수동으로 Excel 파일을 읽는 것이 번거롭지 않을 수 있습니다. 엑셀 (xls)을 쉼표로 구분 된 값 (csv) 파일로 변환 할 수 있다면 파일을 읽고 쉼표로 입력 내용을 나눌 수 있습니다.

+0

을 지원하지 않습니다.하지만 엑셀에서 CSV 로의 변환은 utf-8을 지원하지 않습니다. – Ofer

-1

이것은 어려운 문제입니다. 첫째, "제 3 자 라이브러리 추가"만큼 간단하지 않습니다. 비용이 들지 않는 기존의 EXCEL 독서 라이브러리는 없으며, 작동한다는 것을 알고있는 것은 매우 비싸고 버그가 있습니다.

하나의 전략은 데이터를 읽고 OLE 또는 클립 보드 또는 TCP/IP 포트를 통해 응용 프로그램으로 전송하거나 임시 파일에 저장하는 Excel 추가 기능을 만드는 것입니다. 소스 코드에서 OPeNDAP.org의 ODC 프로젝트를 보면 엑셀 추가 기능과 TCP 기능을 찾을 수 있습니다.

개방형 소스 코드 인 OpenOffice에서 독자를 참조 할 수는 있지만 제 생각에는 코드가 여러 가지 이유로 개인 프로젝트로 쉽게 리팩토링 할 수 없다고 생각할 수 있습니다.

Microsoft는 Excel 파일을 열고 COM 개체를 통해 노출하는 구성 요소와 도구를 제공합니다.

BIFF 형식을 배우고 자신 만의 파서를 작성할 수도 있습니다. BIFF5 용 파서를 작성하고 싶지만 미리 경고해야합니다. 제한된 수의 데이터 유형만 구문 분석하더라도 BIG 프로젝트입니다.

+1

아마도 첫 번째 단락을 이해하지 못할 수도 있지만 이 사이트에서 언급 된 Excel의 파일을 읽고 쓸 수있는 오픈 소스 예제 2 개 이상. – Tshepang