Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 팁&트릭
Delphi Programming Tip&Tricks
[285] ADO로 xlsx 파일을 사용하기 위한 설정 값
권익수 [freepascal] 7390 읽음    2012-07-26 09:45
PC에 오피스가 설치되어있지 않은 경우 Access Database Engine을 MS 사이트에서 다운받아서 설치하면 ADO에서 엑셀파일을 사용할 수가 있습니다.

※ Microsoft Access Database Engine 2010 Download Link
 . Microsoft Access Database Engine 2010 재배포 가능 패키지 Download
 . Microsoft Access Database Engine 2010, 32비트 버전 서비스 팩 Download
 . Microsoft Access Database Engine 2010, 64비트 버전 서비스 팩 Download

일반적으로 xls 파일을 사용하기 위해서는 ADO 컴퍼넌트의 ConnectionString에 아래와 같이 설정하죠.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<File Name>;Extended Properties="Excel 8.0;HDR=YES;"

Office 2010 기준으로 xlsx 파일을 ADO에서 사용하기위한 설정은 다음과 같습니다.

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<File Name>;Extended Properties="Excel 14.0;Imex=1;HDR=YES;"

위의 설정으로 엑셀을 불러올 때 정상적으로 되지않고 "설치 가능한 ISAM이 없습니다."" 라는 오류가 나는 경우가 있습니다.
이 경우는 레지스트리에 엑셀 14.0에 관련된 정보가 없어서 그런데 아래와 같이 설정하면 정상적으로 xlsx 파일을 불러올 수 있습니다.

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<File Name>;Extended Properties="Excel 8.0;Imex=1;HDR=YES;"

물론 위의 설정으로 xls 파일도 불러올 수 있습니다.

※ 엑셀에 열 머리글이 포함되어 있으면 HDR=YES, 포함되어있지않으면 HDR=NO로 설정.
※ IMEX = 0: Export mode, 1: Import mode, 2: Linked mode (full update capabilities)

+ -

관련 글 리스트
285 ADO로 xlsx 파일을 사용하기 위한 설정 값 권익수 7390 2012/07/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.