2014-06-22 2 views
0

Sql Server Studio를 사용하여 Excel 2007 데이터를 소계 및 합계없이 가져 오려고합니다. 직접 가져 오기를 시도했지만 하위 합계 및 합계도 함께 제공됩니다. 이 작업을 수행하는 데 직접적인 방법이 있습니까?Sql Server Studio에서 부분합 및 합계없이 Excel 데이터를 SQL 2008로 가져 오기

또는이 가져 오기를 수행 할 수있는 다른 방법이 있습니까?

난 그냥 가져올 SQL 마법사를 사용하는 쿼리를 사용하고 있지 않다

편집 한 추가 엑셀 형식입니다. 그냥 모든 스크립트없이 그것을하려고합니다.

엑셀 형식

ProgramID | Name | Amount 
20  | Adrian |  20 
20  | Jack |  35 
      Sub Total  55 <== This I do not want to import 
21  | Janet |  25 
21  | Jill |  20 
      Sub Total  45 <== This I do not want to import 

      Total  100 <== This I do not want to import 
+0

가져올 테이블과 가져 오기에 사용하는 쿼리의 예를 제공하십시오. 유일한 방법은 합계 인 행을 필터링하는 것입니다. –

+0

@TI 질문이 업데이트되었습니다. – Adrian

답변

0

당신은 당신이 간단하게 추가 할 수 있습니다 OPENROWSET을 사용하는 경우 경우 쿼리

SELECT * 
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
    'Excel 12.0 Xml;HDR=YES;Database=path\to\the.xlsx', 
    'SELECT * FROM [sheet_name$] WHERE NAME NOT LIKE ''%Total%'' AND NAME <> ''''') 

당신은 내가 this을 읽어 보시기 바랍니다 공급자 등을 설정해야하는 경우에 절 또한 Excel에서 데이터를 가져 오는 예제와 대체 방법을 제공합니다.

작업 사용 -> 데이터 가져 오기; 소스와 대상을 설정 한 후, 다음 "... 쿼리를 쓰기"를 선택 데이터 유형 맵핑 link을 망쳐 놨 쿼리를 사용하여 몇 가지 이유를 들어 같은

SELECT * FROM `sheet_name$` WHERE `Name` NOT LIKE "%Total%" AND Name <> "" 

위와 유사한 쿼리를 사용합니다. 그래서 링크를 기반 난 '해결'문제로 보였다 AceToSSIS.xml

<!-- VarChar Query Kludge --> 
<dtm:DataTypeMapping > 
    <dtm:SourceDataType> 
     <dtm:DataTypeName>200</dtm:DataTypeName> 
    </dtm:SourceDataType> 
    <dtm:DestinationDataType> 
     <dtm:CharacterStringType> 
      <dtm:DataTypeName>DT_STR</dtm:DataTypeName> 
      <dtm:UseSourceLength/> 
     </dtm:CharacterStringType> 
    </dtm:DestinationDataType> 
</dtm:DataTypeMapping> 

<!-- NVarChar Query Kludge --> 
<dtm:DataTypeMapping > 
    <dtm:SourceDataType> 
     <dtm:DataTypeName>202</dtm:DataTypeName> 
    </dtm:SourceDataType> 
    <dtm:DestinationDataType> 
     <dtm:CharacterStringType> 
      <dtm:DataTypeName>DT_WSTR</dtm:DataTypeName> 
      <dtm:UseSourceLength/> 
     </dtm:CharacterStringType> 
    </dtm:DestinationDataType> 
</dtm:DataTypeMapping> 

을 추가했다.

+0

시간이 조금 걸리더라도이 모든 것을 시도 할 것이라고 확신하지 못합니다. – Adrian