엑셀에서 지원하는 외부 데이터 가져오기는 주로 텍스트나 cvs 파일의 내용을 가져올 때 많이 이용해 보셨을 겁니다. 그런데 외부 데이터 파일 중 XML 로 구성된 것들도 가져와서 시트에 추가할 수 있습니다. 만약 백업용 데이터가 XML 이라고 하더라도 엑셀에서 편집이 가능하다는 것이죠. 샘플을 통해서 어떤 식으로 워크시트에 추가하는지 알아 보도록 하겠습니다.
엑셀에서 불러오고 싶은 XML 데이터가 있다면 그에 맞는 스키마 구조를 갖춰야 합니다. 제일 바깥쪽 태그는 <data-set> 이며 스키마 구조를 참조하기 위한 주소를 입력합니다.
<data-set xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
그리고 행을 표현하기 위해 <record> 태그를 사용해야 합니다. 그리고 하위에 들어간태그들의 태그명은 필드의 제목이 되며 값은 행에 추가되는 데이터가 됩니다. 그래서 record 안에 들어간 태그명들은 항상 동일해야겠죠.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <data-set xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <record> <LastName>Smith</LastName> <Sales>16753</Sales> <Country>UK</Country> <Quarter>Qtr 3</Quarter> </record> <record> <LastName>Johnson</LastName> <Sales>14808</Sales> <Country>USA</Country> <Quarter>Qtr 4</Quarter> </record> </data-set> |
▼ 이제 만들어진 XML 데이터를 워크시트로 가져와 보겠습니다. 엑셀에서 [데이터] 탭 > [외부 데이터 가져오기] 그룹 > [기타 원본]에서 리본을 클릭합니다. 그리고 하위 메뉴에 나와 있는 메뉴들 중 [XML 데이터 가져오기]를 선택합니다.
▼ XML 파일을 찾아서 추가하면 그림과 같이 XML 포맷에 맞지 않은 곳에 로딩된다는 메시지가 뜨게 됩니다. 이것은 무시하시고 [확인] 버튼을 클릭합니다.
▼ 데이터 가져오기 팝업창에서는 XML 데이터를 어디에 표현할지 위치를 지정해 줘야 합니다. 셀을 선택하면 [기존 워크시트의 XML 표]에 위치값이 들어가고 로딩된 데이터는 선택한 위치에서부터 시작합니다.
▼ 데이터를 가져오기 전에 확인해야 할 [속성] 값이 있습니다. 데이터 가져오기 팝업창에서 [속성] 버튼을 누릅니다. 그리고 [XML 스키마 유효성 검사]를 체크해 줍니다. import 가 가능한 구조로 되어 있는지 검사해 주는 옵션으로 체크해 주는 것이 좋습니다.
▼ XML 데이터를 가져온 결과는 다음과 같습니다. 그림처럼 태그명이 데이터 제목행이 되었습니다. 그리고 시트에 추가된 데이터 영역은 표 형태로 바뀌게 됩니다.
▼ 표를 없애고 편집 가능한 셀로 만들기 위해서 [범위로 변환] 리본 메뉴를 클릭합니다. 이상으로 외부 데이터 입력 기능을 이용해서 XML 데이터를 워크시트에 추가하는 방법에 대해 알아 보았습니다.
댓글을 달아 주세요
자세한 설명 감사합니다.
많이 배우고 갑니다.
네 도움이 되었다니 저도 기쁘네요 ^^
닥치고살자 2017.08.27 18:47 댓글주소 수정/삭제 댓글쓰기
어허... 뭔 정리를 이렇게 잘해놨어요.
볼게 너무 많고 도움되는거 투성이네요.
엄청 일도 잘하실거 같다는...
홧팅임다
감사합니다. ^^
gwj1018 2018.09.07 16:30 댓글주소 수정/삭제 댓글쓰기
Matlab으로 xml 파일에서 이런 표 만들어 보겠다고 고생하던 중 찾아 들어오게 되었습니다.
엑셀에서도 xml파일을 여는 것이 가능하며 훨씬 쉽다는 걸 깨닫고 갑니다.
추가적으로 한 가지 여쭤 보고 싶은 게 있습니다.
여러 개의 xml 파일을 일괄적으로 열어서 편집을 하려면 어떻게 해야 할까요?
xml 열기에서는 파일 하나씩밖에 못 여는 것 같네요..
VBA 로 프로그램을 짜야 합니다. 파이썬도 가능합니다.
정남수 2018.11.27 15:40 댓글주소 수정/삭제 댓글쓰기
오늘 모스 엑셀 2016 export를 시험 봤는데,
Xml를 맵핑하는 문제 였습니다.
그런데 경고 창이 뜨면서 스키마 및 xml을 로드 할 수 없습니다. 라는 창이 뜨더군요. 이럴 경우 유효성 검사를 하면 로드 할 수 있는 건가요?