본문 바로가기

엑셀 XML 변환

워크시트를 가져오기, 피드, 시스템 연동에 쓸 올바른 형식의 XML로 바꿉니다. 요소 이름은 머리글에서 가져오고, 값의 형식을 살리며, 루트와 행 이름은 원하는 대로 정할 수 있습니다.

  • 저장되지 않음
  • 대기열 없음, 기다림 없음
  • 회원가입 없음, 워터마크 없음

사용 방법

1

통합 문서 추가

.xlsx, .xls, .ods 파일을 끌어다 놓고 시트를 고르세요. XML 미리보기가 실시간으로 표시됩니다.

2

요소 이름 정하기

루트와 행 요소 이름, 원본 값과 표시 값 중 무엇을 쓸지, 빈 셀을 어떻게 처리할지 정하세요.

3

복사 또는 다운로드

XML을 복사하거나 .xml 파일로 저장하세요.

트리로 표현한 표

각 시트는 행마다 반복되는 요소가 되고, 그 안에 머리글 행에서 이름을 딴 열별 자식 요소가 들어갑니다. 그래서 스프레드시트가 아닌 데이터 XML을 기대하는 어떤 프로그램이든 결과를 읽을 수 있습니다. 이 과정에서 열 이름은 유효한 요소 이름이 되어야 하는데, XML은 스프레드시트 머리글보다 엄격합니다. 이름은 숫자로 시작할 수 없고, 공백이나 대부분의 문장 부호를 포함할 수 없으며, 대소문자를 구분합니다. 그래서 “Order Total (£)”은 더 단정한 이름으로 바뀌고, 문장 부호만 다른 두 머리글은 서로 구분해 주어야 할 수도 있습니다.

옮겨지는 것은 겉모습이 아니라 값입니다. £1,234.50으로 보이는 셀은 통합 문서 안에 서식이 적용된 숫자 1234.5로 저장되어 있고, XML에 들어가는 것은 이 숫자입니다. 받는 시스템은 통화 기호가 아니라 값을 원하므로 거의 항상 이것이 맞습니다. 수식도 같은 이유로 사라집니다. XML에는 수식 자체를 보관할 곳이 없으므로 수식이 계산한 결과만 남습니다. 색상, 글꼴, 테두리, 조건부 서식, 차트, 이미지는 여기서 전혀 표현되지 않습니다.

꼭 확인해야 할 것은 날짜입니다. 스프레드시트는 날짜를 기준일로부터 지난 일수로 저장하고 서식을 통해 날짜로 표시하므로, 셀 설정에 따라 날짜가 아니라 45356 같은 숫자로 나올 수 있습니다. XML을 읽는 쪽에서 날짜가 중요하다면 파일을 믿고 쓰기 전에 날짜를 확인하세요. 통합 문서에서 날짜를 미리 텍스트 형식으로 바꿔 두면 모호함이 완전히 사라집니다.

XML이 예약한 다섯 문자, 즉 앰퍼샌드, 꺾쇠괄호, 따옴표는 값 안에서 이스케이프되므로 이런 문자가 들어간 텍스트도 온전히 유지됩니다. 빈 셀은 생략되지 않고 빈 요소가 되므로 모든 레코드가 같은 모양을 유지하며, 빠진 필드가 그냥 사라지는 결과보다 훨씬 처리하기 쉽습니다. 비밀번호로 보호된 통합 문서는 먼저 비밀번호를 해제해야 합니다.

다른 작업이 필요할 때

업계 표준 형식, 정부 제출 양식, 특정 시스템의 가져오기 형식처럼 XML이 특정 스키마에 맞아야 한다면, 일반적인 변환으로는 만들 수 없고 여기서 어떤 설정을 바꿔도 마찬가지입니다. 이는 매핑 작업입니다. XSLT로 이 결과를 필요한 모양으로 변환하고, 제출하기 전에 xmllint --schema로 결과를 검증하세요.

반복되는 작업이라면 스크립트로 만드세요. Python의 openpyxl과 pandas는 통합 문서를 읽어 원하는 형태의 XML을 쓰며, 날짜와 숫자를 어떻게 표현할지까지 제어할 수 있는데 바로 그 부분이 중요합니다. 그리고 정말 XML이 필요한지 한번 따져 볼 만합니다. 최근 10년 안에 만들어진 시스템은 대부분 JSON이나 CSV를 선호하며, XML은 대개 더 오래된 시스템에서 물려받은 요구 사항입니다.

자주 묻는 질문

XML은 어떤 모양인가요?

행마다 요소 하나가 생기고, 그 안에 열마다 머리글 이름을 딴 자식 요소가 들어갑니다: <rows><row><Name>Ada</Name><Joined>2024-03-15</Joined></row>…</rows>. 루트와 행 이름은 직접 정할 수 있으며, 여러 시트를 함께 내보내면 각 시트가 자체 요소로 감싸집니다.

머리글에 공백과 기호가 있는데 문제가 되나요?

아니요. 머리글은 유효한 XML 이름으로 바뀝니다. “First Name”은 First_Name이 되고, “2024 Sales”는 _2024_Sales가 되며, 중복된 머리글에는 번호가 붙으므로 결과는 항상 올바른 형식입니다.

날짜와 숫자는 어떻게 기록되나요?

원본 값을 고르면 어떤 시스템이든 분석할 수 있는 일반 숫자와 ISO 8601 날짜(2024-03-15, 14:30:00)가 기록됩니다. 표시 값을 고르면 Excel에 보이는 텍스트가 서식까지 그대로 기록됩니다.

XML 스프레드시트 2003이란 무엇인가요?

Excel에서 바로 열 수 있는 XML 형식으로, 모든 시트의 숫자, 날짜, 텍스트를 유지합니다. 시스템이 직접 정의한 데이터 XML이 아니라 “Excel XML”을 요구할 때 선택하세요.

제 스프레드시트가 어딘가에 저장되나요?

아니요. 통합 문서를 읽고 XML을 작성하는 일이 모두 이 페이지에서 이루어집니다. 아무 곳으로도 전송되지 않으며 아무것도 저장하지 않습니다.

수식과 서식은 어떻게 되나요?

수식은 계산된 값으로 기록됩니다. 서식, 차트, 이미지는 데이터 XML에 포함되지 않습니다.

참고: 데이터 XML에는 값만 담기며 서식, 차트, 이미지는 담기지 않습니다. 비밀번호로 보호된 통합 문서는 먼저 비밀번호를 해제해야 합니다.

내 웹사이트에 이 도구 넣기

블로그, 수업 페이지, 도움말 글 어디에나 무료로 넣을 수 있습니다. 코드 한 줄만 붙여 넣으면 방문자가 페이지에서 바로 사용할 수 있습니다.