이를 수행하는 좋은 방법은 여러 가지가 있으며 다른 사람들이 이미 제안한 바 있습니다. "SQL 트랙을 통해 Excel 데이터 가져 오기"에 이어 몇 가지 지침이 있습니다.
Excel에는 "데이터 연결 마법사"가있어 다른 데이터 소스 또는 동일한 Excel 파일 내에서 가져 오거나 연결할 수 있습니다.
Microsoft Office (및 OS)의 일부로 관심있는 두 가지 공급자는 이전 "Microsoft.Jet.OLEDB"와 최신 "Microsoft.ACE.OLEDB"입니다. 연결을 설정할 때이를 찾으십시오 (예 : 데이터 연결 마법사 사용).
Excel 통합 문서에 연결되면 워크 시트 또는 범위는 테이블 또는 뷰와 동일합니다. 워크 시트의 테이블 이름은 달러 기호 ( "$")가 추가되고 대괄호 ( "["및 "]")로 묶인 워크 시트의 이름입니다. 범위의 이름 일뿐입니다. 레코드 소스로 이름이 지정되지 않은 셀 범위를 지정하려면 대괄호 안의 시트 이름 끝에 표준 Excel 행 / 열 표기법을 추가합니다.
네이티브 SQL은 Microsoft Access의 SQL이 될 것입니다. (과거에는 JET SQL이라고 불렸지만 Access SQL은 진화했으며 JET는 더 이상 사용되지 않는 오래된 기술이라고 생각합니다.)
예, 워크 시트 읽기 : SELECT * FROM [Sheet1$]
예, 범위 읽기 : SELECT * FROM MyRange
예 : 이름이 지정되지 않은 셀 범위 읽기 : SELECT * FROM [Sheet1$A1:B10]
세부 사항을 살펴 보는 데 도움이되는 많은 책과 웹 사이트가 있습니다.
=== 추가 참고 사항 ===
기본적으로 Excel 데이터 원본의 첫 번째 행에는 필드 이름으로 사용할 수있는 열 머리글이 포함되어 있다고 가정합니다. 그렇지 않은 경우이 설정을 해제해야합니다. 그렇지 않으면 데이터의 첫 번째 행이 "사라져"필드 이름으로 사용됩니다. HDR= setting
연결 문자열의 확장 속성에 옵션 을 추가하면 됩니다. 지정할 필요가없는 기본값은 HDR=Yes
입니다. 열 머리글이없는 경우 다음을 지정해야합니다.HDR=No
; 공급자는 필드 이름을 F1, F2 등으로 지정합니다.
워크 시트 지정시주의 사항 : 제공자는 데이터 테이블이 지정된 워크 시트의 맨 위, 맨 왼쪽, 비어 있지 않은 셀로 시작한다고 가정합니다. 즉, 데이터 테이블은 문제없이 행 3, 열 C에서 시작할 수 있습니다. 그러나 예를 들어 A1 셀의 데이터 위와 왼쪽에 워크 시트 제목을 입력 할 수 없습니다.
범위 지정시주의 사항 : 워크 시트를 레코드 원본으로 지정하면 공급자는 공간이 허용하는 한 워크 시트의 기존 레코드 아래에 새 레코드를 추가합니다. 범위 (이름이 지정되거나 지정되지 않음)를 지정하면 Jet는 공간이 허용하는 한 범위의 기존 레코드 아래에 새 레코드도 추가합니다. 그러나 원래 범위를 다시 쿼리하는 경우 결과 레코드 집합에는 범위 밖에 새로 추가 된 레코드가 포함되지 않습니다.
C에 대한 데이터 유형 (해볼 가치가있는) REATE TABLE: Short, Long, Single, Double, Currency, DateTime, Bit, Byte, GUID, BigBinary, LongBinary, VarBinary, LongText, VarChar, Decimal
.
"오래된 기술"Excel에 연결 (xls 확장자가있는 파일) : Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyFolder\MyWorkbook.xls;Extended Properties=Excel 8.0;
. Microsoft Excel 5.0 및 7.0 (95) 통합 문서에는 Excel 5.0 원본 데이터베이스 유형을 사용하고 Microsoft Excel 8.0 (97), 9.0 (2000) 및 10.0 (2002) 통합 문서에는 Excel 8.0 원본 데이터베이스 유형을 사용합니다.
"최신"Excel에 연결 (파일 확장자가 xlsx 인 파일) : Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Excel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;"
데이터를 텍스트로 처리 : IMEX 설정은 모든 데이터를 텍스트로 처리합니다. Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Excel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1";
(자세한 내용은 http://www.connectionstrings.com/excel )
자세한 내용은 http://msdn.microsoft.com/en-US/library/ms141683(v=sql.90).aspx 및 http://support.microsoft.com/kb/316934에서
VBA를 통해 ADODB를 통해 Excel에 연결 http://support.microsoft.com/kb/257819에
http://support.microsoft.com/kb/275561의 Microsoft JET 4 세부 정보