Excel 원본은 Microsoft Excel 통합 문서의 워크시트 또는 범위에서 데이터를 추출합니다.
Excel 원본은 데이터를 추출하기 위한 네 가지 데이터 액세스 모드를 제공합니다.
테이블 또는 뷰
변수에 지정된 테이블 또는 뷰입니다.
SQL 문의 결과입니다. 쿼리는 매개 변수가 있는 쿼리일 수 있습니다.
변수에 저장된 SQL 문의 결과입니다.
중요합니다
Excel에서 워크시트 또는 범위는 테이블 또는 뷰와 동일합니다. Excel 원본 및 대상 편집기에서 사용 가능한 테이블 목록에는 기존 워크시트(Sheet1$와 같은 워크시트 이름에 추가된 $기호로 식별됨) 및 명명된 범위(MyRange와 같은 $ 기호가 없는 것으로 식별됨)가 표시됩니다. 자세한 내용은 사용 고려 사항 섹션을 참조하세요.
Excel 원본은 Excel 연결 관리자를 사용하여 데이터 원본에 연결하고 연결 관리자는 사용할 통합 문서 파일을 지정합니다. 자세한 내용은 Excel 연결 관리자를 참조하세요.
Excel 원본에는 하나의 일반 출력과 하나의 오류 출력이 있습니다.
사용 시 고려 사항
Excel 연결 관리자는 Microsoft OLE DB Provider for Jet 4.0 및 지원 Excel ISAM(인덱싱된 순차 액세스 방법) 드라이버를 사용하여 Excel 데이터 원본에 데이터를 연결하고 읽고 씁니다.
대부분의 기존 Microsoft 기술 자료 문서에서는 이 공급자 및 드라이버의 동작을 문서화하며, 이러한 문서는 Integration Services 또는 이전 데이터 변환 서비스와 관련이 없지만 예기치 않은 결과를 초래할 수 있는 특정 동작에 대해 알고 싶을 수 있습니다. Excel 드라이버의 사용과 동작에 관한 일반 정보는 HOWTO: Use ADO with Excel Data from Visual Basic 또는 VBA를 참조하십시오.
Excel 드라이버를 사용하는 Jet 공급자의 다음 동작은 Excel 데이터 원본에서 데이터를 읽을 때 예기치 않은 결과를 초래할 수 있습니다.
데이터 원본. Excel 통합 문서의 데이터 원본은 $기호를 추가해야 하는 워크시트(예: Sheet1$) 또는 명명된 범위(예: MyRange)일 수 있습니다. SQL 문에서 $ 기호로 인한 구문 오류를 방지하려면 워크시트 이름을 구분해야 합니다(예: [Sheet1$]). 쿼리 작성기는 이러한 구분 기호를 자동으로 추가합니다. 워크시트 또는 범위를 지정하면 드라이버는 워크시트 또는 범위의 왼쪽 위 모서리에 있는 비어있지 않은 첫 번째 셀부터 시작하여 연속된 셀 블록을 읽습니다. 따라서 원본 데이터에 빈 행을 포함하거나 제목 또는 머리글 행과 데이터 행 사이에 빈 행을 가질 수 없습니다.
누락된 값입니다. Excel 드라이버는 지정된 원본에서 특정 개수의 행(기본적으로 8개 행)을 읽고 각 열의 데이터 형식을 추측합니다. 열에 혼합된 데이터 형식, 특히 텍스트 데이터와 혼합된 숫자 데이터가 포함된 것으로 나타나면 드라이버는 대다수 데이터 형식을 선호하도록 결정하고 다른 형식의 데이터가 포함된 셀에 대해 null 값을 반환합니다. (동률에서 숫자 형식이 우선합니다.) Excel 워크시트의 대부분의 셀 서식 옵션은 이 데이터 형식 결정에 영향을 미치지 않는 것 같습니다. 가져오기 모드를 지정하여 Excel 드라이버의 이 동작을 수정할 수 있습니다. 가져오기 모드를 지정하려면 속성 창의 Excel 연결 관리자의 연결 문자열의 확장 속성 값에
IMEX=1를 추가하십시오. 자세한 내용은 PRB: DAO OpenRecordset을 사용하여 NULL로 반환된 Excel 값을 참조하세요.잘린 텍스트. 드라이버가 Excel 열에 텍스트 데이터가 포함되어 있는지 확인하면 드라이버는 샘플링하는 가장 긴 값에 따라 데이터 형식(문자열 또는 메모)을 선택합니다. 드라이버가 샘플링하는 행에서 255자보다 긴 값을 검색하지 않으면 열을 메모 열 대신 255자 문자열 열로 처리합니다. 따라서 255자보다 긴 값은 잘려질 수 있습니다. 잘림 없이 메모 열에서 데이터를 가져오려면 샘플링된 행 중 하나 이상의 메모 열에 255자 이상의 값이 포함되어 있는지 확인하거나 드라이버에서 샘플링한 행 수를 늘려 이러한 행을 포함해야 합니다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel 레지스트리 키에서 TypeGuessRows 값을 늘려 샘플링된 행 수를 늘릴 수 있습니다. 자세한 내용은 PRB: Jet 4.0 OLEDB 원본에서 데이터 전송 오류를 참조하세요.
데이터 형식입니다. Excel 드라이버는 제한된 데이터 형식 집합만 인식합니다. 예를 들어 모든 숫자 열은 double(DT_R8)으로 해석되고 메모 열 이외의 모든 문자열 열은 255자 유니코드 문자열(DT_WSTR)로 해석됩니다. Integration Services는 다음과 같이 Excel 데이터 형식을 매핑합니다.
수치형 - 배정밀도 부동 소수점(DT_R8)
통화 - 통화(DT_CY)
부울 - 부울(DT_BOOL)
날짜/시간 -
datetime(DT_DATE)문자열 - 유니코드 문자열, 길이 255(DT_WSTR)
메모 - 유니코드 텍스트 스트림(DT_NTEXT)
데이터 형식 및 길이 변환 Integration Services는 데이터 형식을 암시적으로 변환하지 않습니다. 따라서 Excel 데이터를 Excel 이외의 대상으로 로드하기 전에 Excel 데이터를 명시적으로 변환하거나 Excel 대상에 로드하기 전에 Excel 이외의 데이터를 변환하려면 파생 열 또는 데이터 변환을 사용해야 할 수 있습니다. 이 경우 필요한 변환을 구성하는 가져오기 및 내보내기 마법사를 사용하여 초기 패키지를 만드는 것이 유용할 수 있습니다. 필요할 수 있는 변환의 몇 가지 예는 다음과 같습니다.
특정 코드 페이지를 사용하여 유니코드 Excel 문자열 열과 유니코드가 아닌 문자열 열 간 변환
255자 Excel 문자열 열과 길이가 다른 문자열 열 간 변환
배정밀도 Excel 숫자 열과 다른 형식의 숫자 열 간 변환
Excel 원본 구성
SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.
Excel 원본 편집기 대화 상자에서 설정할 수 있는 속성에 대한 자세한 내용은 다음 항목 중 하나를 클릭합니다.
고급 편집기 대화 상자에는 프로그래밍 방식으로 설정할 수 있는 모든 속성이 반영됩니다. 고급 편집기 대화 상자를 사용하거나 프로그래밍 방식으로 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하세요:
Excel 파일 그룹을 반복하는 방법에 대한 정보는 Foreach 루프 컨테이너를 사용하여 Excel 파일 및 테이블을 반복하는 방법을 참조하십시오.
관련 작업
관련 내용
hrvoje.piasevoli.com SSIS의 64비트 Excel에서 데이터를 가져오는 블로그 항목
블로그 항목: SSIS에서 Excel(XLSX) 연결하기.