원본
http://delphi.borlandforum.com/impboard/impboard.dll?action=read&db=del_tip&no=285
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)
'Database' 카테고리의 다른 글
postgreSQL 에 따옴표(Quotes)가 붙는 경우 (0) | 2018.11.30 |
---|---|
사용자 DSN 등록하지 않고 ODBC 연결하기 (0) | 2014.06.13 |
SQLite에 외부(DBF)데이터 넣기. (0) | 2013.08.06 |