Excel에서 XML 데이터 가져오기 및 내보내기를 수행하는 경우 XML 요소와 셀 데이터를 연결하여 원하는 결과를 얻을 수 있는 XML 맵이 유용합니다. XML 맵을 만들려면 XML 스키마 파일(.xsd)과 XML 데이터 파일(.xml)이 있어야 합니다. XML 맵을 만든 후에는 XML 요소를 원하는 방식으로 매핑할 수 있습니다.
팁: Excel에서 XML을 사용하는 방법에 대한 자세한 내용은 Excel에서의 XML 개요를 참조하세요.
XML 스키마 및 XML 데이터 파일 찾기 또는 만들기
다른 데이터베이스나 응용 프로그램에서 XML 스키마 또는 XML 데이터 파일을 만든 경우 이미 사용 가능한 상태일 수 있습니다. 예를 들어 데이터를 이러한 XML 파일 형식으로 내보내는 LOB(기간 업무) 응용 프로그램, 이러한 XML 파일을 제공하는 상용 웹 사이트 또는 웹 서비스, IT 부서에서 이러한 XML 파일을 자동으로 만들도록 개발한 사용자 지정 응용 프로그램이 있을 수 있습니다.
필요한 XML 파일이 없는 경우 사용하려는 데이터를 텍스트 파일로 저장하여 만들 수 있습니다. 그런 다음 Access와 Excel을 둘 다 사용하여 해당 텍스트 파일을 사용자에게 필요한 XML 파일로 변환할 수 있습니다. 방법은 다음과 같습니다.
Access
-
변환하려는 텍스트 파일을 가져와서 새 테이블에 연결합니다.
-
파일 > 열기를 클릭합니다.
-
열기 대화 상자에서 새 테이블을 만들 데이터베이스를 선택하여 엽니다.
-
외부 데이터 > 텍스트 파일을 클릭하고 각 단계의 지침을 따라 테이블을 텍스트 파일에 연결합니다.
새 테이블이 만들어져 탐색 창에 표시됩니다.
-
-
연결된 테이블에서 XML 데이터 파일 및 XML 스키마 파일로 데이터를 내보냅니다.
-
내보내기 그룹에서 외부 데이터 > XML 파일을 클릭합니다.
-
내보내기 - XML 파일 대화 상자에서 파일 이름 및 서식을 지정하고 확인을 클릭합니다.
-
-
Access를 종료합니다.
Excel
-
Access에서 내보낸 XML 스키마 파일을 기반으로 XML 맵을 만듭니다.
여러 루트 대화 상자가 나타나면 XML 표를 만들 수 있도록 데이터 루트를 선택합니다.
-
데이터 루트 요소를 매핑하여 XML 표를 만듭니다. 자세한 내용은 XML 요소 매핑을 참조하세요.
-
Access에서 내보낸 XML 파일을 가져옵니다.
참고 사항:
-
Excel에서 지원되지 않는 여러 종류의 XML 스키마 요소 구성이 있습니다. 아래에서는 Excel로 가져올 수 없는 XML 스키마 요소 구성은 다음과 같습니다.
-
모든>< 이 요소를 사용하면 스키마를 통해 선언되지 않은 요소를 포함할 수 있습니다.
-
anyAttribute>< 이 요소를 사용하면 스키마를 통해 선언되지 않은 특성을 포함할 수 있습니다.
-
재귀 구조 재귀 구조의 일반적인 예로는 동일한 XML 요소가 여러 수준으로 중첩된 직원 및 관리자 계층 구조를 들 수 있습니다. Excel에서 두 수준 이상의 재귀 구조는 지원되지 않습니다.
-
추상 요소 이러한 요소는 스키마에서 선언되지만 요소로 사용되지는 않습니다. 추상 요소는 추상 요소를 대체하는 다른 요소에 종속됩니다.
-
대체 그룹 이러한 그룹을 사용하면 다른 요소가 참조되는 모든 위치에서 요소를 바꿀 수 있습니다. 다른 요소의 대체 그룹에 속한 요소에는 <substitutionGroup> 특성이 지정됩니다.
-
혼합된 콘텐츠 이 콘텐츠는 복합 형식 정의에서 mixed="true"를 사용하여 선언됩니다. Excel에서는 복합 형식의 단순 콘텐츠를 지원하지 않지만 복합 형식에 정의된 하위 태그 및 특성은 지원합니다.
예제 XML 스키마 및 XML 데이터 파일 사용
다음 예제 데이터에는 XML 파일이나 XML 파일을 만드는 데 사용할 텍스트 파일이 없는 경우 XML 매핑을 테스트하는 데 사용할 수 있는 기본 XML 요소 및 구조가 있습니다. 이 예제 데이터를 컴퓨터의 파일로 저장하는 방법은 다음과 같습니다.
-
복사할 파일의 예제 텍스트를 선택하고 Ctrl+C를 누릅니다.
-
메모장을 시작하고 Ctrl+V를 눌러 예제 텍스트를 붙여넣습니다.
-
Ctrl+S를 눌러 복사한 예제 데이터의 파일 이름과 확장명으로 파일을 저장합니다.
-
메모장에서 Ctrl+N을 누르고 1-3단계를 반복하여 두 번째 예제 텍스트의 파일을 만듭니다.
-
메모장을 종료합니다.
예제 XML 데이터(Expenses.xml)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
<EmployeeInfo>
<Name>Jane Winston</Name>
<Date>2001-01-01</Date>
<Code>0001</Code>
</EmployeeInfo>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Airfare</Description>
<Amount>500.34</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Hotel</Description>
<Amount>200</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Taxi Fare</Description>
<Amount>100.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Long Distance Phone Charges</Description>
<Amount>57.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Food</Description>
<Amount>82.19</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Food</Description>
<Amount>17.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Personal Items</Description>
<Amount>32.54</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Taxi Fare</Description>
<Amount>75.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Food</Description>
<Amount>36.45</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>New Suit</Description>
<Amount>750.00</Amount>
</ExpenseItem>
</Root>
예제 XML 스키마(Expenses.xsd)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Root">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="EmployeeInfo">
<xsd:complexType>
<xsd:all>
<xsd:element minOccurs="0" maxOccurs="1" name="Name" />
<xsd:element minOccurs="0" maxOccurs="1" name="Date" />
<xsd:element minOccurs="0" maxOccurs="1" name="Code" />
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="ExpenseItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Date" type="xsd:date"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Amount" type="xsd:decimal" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
XML 맵 만들기
통합 문서에 XML 스키마를 추가하여 XML 맵을 만듭니다. XML 스키마 파일(.xsd)에서 스키마를 복사할 수도 있고 Excel에서 XML 데이터 파일(.xml)을 기반으로 스키마를 유추할 수도 있습니다.
-
개발 도구 > 원본을 클릭합니다.
개발 도구 탭이 표시되지 않을 경우 개발 도구 탭 표시를 참조하세요.
-
XML 원본 작업창에서 XML 맵을 클릭한 다음 추가를 클릭합니다.
-
찾는 위치 목록에서 열려는 파일이 있는 드라이브, 폴더 또는 인터넷 위치를 클릭합니다.
-
파일을 클릭한 다음 열기를 클릭합니다.
-
XML 스키마 파일을 여는 경우 XML에서 XML 스키마를 기반으로 XML 맵이 만들어집니다. 여러 루트 대화 상자가 나타나면 XML 스키마 파일에 정의된 루트 노드 중 하나를 선택합니다.
-
XML 데이터 파일을 여는 경우 Excel에서 XML 데이터로 XML 스키마를 유추한 다음 XML 맵을 만듭니다.
-
-
확인을 클릭합니다.
XML 맵이 XML 원본 작업창에 표시됩니다.
XML 요소 매핑
XML 표의 반복 셀과 단일 매핑된 셀에 XML 요소를 매핑하여 셀과 XML 스키마의 XML 데이터 요소 간에 관계를 만들 수 있습니다.
-
개발 도구 > 원본을 클릭합니다.
개발 도구 탭이 표시되지 않을 경우 개발 도구 탭 표시를 참조하세요.
-
XML 원본 작업창에서 매핑하려는 요소를 선택합니다.
인접하지 않은 여러 요소를 선택하려면 한 요소를 클릭한 다음 Ctrl 키를 누른 채로 매핑할 각 요소를 클릭합니다.
-
요소를 매핑하려면 다음을 실행합니다.
-
선택한 요소를 마우스 오른쪽 단추로 클릭하고 요소 매핑을 클릭합니다.
-
XML 요소 매핑 대화 상자에서 셀을 선택한 다음 확인을 클릭합니다.
팁: 선택한 요소를 워크시트에서 표시하려는 위치로 끌 수도 있습니다.
요소가 매핑되었음을 나타내기 위해 XML 원본 작업창에 각 요소가 굵은 글꼴로 나타납니다.
-
-
레이블 및 열 머리글 처리 방법을 결정합니다.
-
반복되지 않는 XML 요소를 워크시트로 끌어 단일 매핑된 셀을 만드는 경우에는 머리글 또는 레이블의 배치를 제어하는 데 사용할 수 있는 세 가지 명령이 있는 스마트 태그가 표시됩니다.
데이터에 머리글이 이미 포함되어 있음 셀에서 데이터 왼쪽 또는 위쪽에 이미 머리글이 있어 XML 요소 머리글을 무시하려면 이 옵션을 클릭합니다.
왼쪽에 XML 머리글 두기 XML 요소의 머리글을 셀 레이블로 사용하여 데이터 왼쪽에 표시하려면 이 옵션을 클릭합니다.
위쪽에 XML 머리글 두기 XML 요소의 머리글을 셀 머리글로 사용하여 데이터 위쪽에 표시하려면 이 옵션을 클릭합니다.
-
반복되는 XML 요소를 워크시트로 끌어 XML 표에 반복 셀을 만드는 경우에는 자동으로 XML 요소 이름이 표의 열 머리글로 사용됩니다. 그러나 열 머리글 셀을 편집하여 열 머리글을 원하는 머리글로 변경할 수 있습니다.
XML 원본 작업창에서 옵션을 클릭하면 XML 표의 동작을 더 구체적으로 제어할 수 있습니다.
매핑 시 자동으로 요소 병합 이 확인란을 선택하면 XML 표에 인접한 셀로 요소를 끌 때 XML 표가 자동으로 확장됩니다.
내 데이터에 머리글 표시 이 확인란을 선택하면 반복되는 요소를 워크시트로 매핑할 때 기존 데이터를 열 머리글로 사용할 수 있습니다.
참고 사항:
-
모든 XML 명령이 흐리게 표시되고 셀에 XML 요소를 매핑할 수 없는 경우 통합 문서가 공유되고 있을 수 있습니다. 검토 > 통합 문서 공유를 클릭하여 공유 여부를 확인하고 필요에 따라 공유 사용에서 제거합니다.
공유하려는 통합 문서에 XML 요소를 매핑하려면 원하는 셀에 XML 요소를 매핑하고, XML 데이터를 가져오고, 모든 XML 맵을 제거한 다음 통합 문서를 공유합니다.
-
다른 통합 문서에 대한 데이터가 포함된 XML 표를 복사할 수 없는 경우 XML 표에 데이터 구조를 정의하는 XML 맵이 연결되어 있을 수 있습니다. 이 XML 맵은 통합 문서에 저장되지만 XML 표를 새 통합 문서에 복사할 때 자동으로 포함되지는 않습니다. XML 표를 복사하는 대신 Excel에서 같은 데이터가 들어 있는 Excel 표가 만들어집니다. 새 표를 XML 표로 만들려면 다음을 수행합니다.
-
원본 XML 맵을 만드는 데 사용한 .xml 또는 .xsd 파일을 사용하여 새 통합 문서에 XML 맵을 추가합니다. 다른 통합 문서에 XML 맵을 추가하려면 해당 파일을 저장해야 합니다.
-
표에 XML 요소를 매핑하여 XML 표로 만듭니다.
-
-
반복되는 XML 요소를 병합된 셀에 매핑하면 Excel에서 셀이 분할됩니다. 반복되는 요소는 병합되지 않은 셀에서만 작동하도록 설계되었으므로 이는 정상적인 동작입니다.
반복되지 않는 단일 XML 요소를 병합된 셀에 매핑할 수는 있지만 반복되는 XML 요소(또는 반복되는 요소가 포함된 요소)를 병합된 셀에 매핑하는 것은 허용되지 않습니다. 셀이 분할되고 요소는 포인터가 있는 셀로 매핑됩니다.
-
-
팁:
-
사용하지 않으려는 XML 요소의 매핑을 해제하거나 XML 데이터를 가져올 때 셀 내용을 덮어쓰지 않도록 할 수 있습니다. 예를 들어 XML 파일을 가져올 때 덮어쓰지 않으려는 수식이 있는 단일 셀 또는 반복되는 셀에서 XML 요소에 대해 일시적으로 매핑을 취소할 수 있습니다. 가져오기가 완료되면 XML 요소를 수식 셀에 다시 매핑하여 수식 결과를 XML 데이터 파일로 내보낼 수 있습니다.
-
XML 요소의 매핑을 취소하려면 XML 원본 작업창에서 해당 이름을 마우스 오른쪽 단추로 클릭하고 요소 제거를 클릭합니다.
개발 도구 탭 표시
개발 도구 탭이 나타나지 않는 경우 다음을 실행하여 표시합니다.
-
파일 > 옵션을 클릭합니다.
-
리본 사용자 지정 범주를 클릭합니다.
-
기본 탭에서 개발 도구 확인란을 선택한 다음 확인을 클릭합니다.