홈 · 무료 도구 · JSON 엑셀 변환

JSON 엑셀 변환

API 응답을 붙여넣거나 .json 파일을 놓으면 .xlsx 파일을 바로 받을 수 있습니다. 응답 안의 레코드 배열을 찾아내고, 중첩된 필드는 각자 열이 되며, 필드가 다른 레코드도 칸이 밀리지 않습니다. 파워 쿼리도 추가 기능도 필요 없고, CSV를 거치지 않으니 한글이 깨지지 않습니다. 아무것도 업로드되지 않습니다.

또는 .json 파일을 끌어다 놓기

.json / .ndjson을 놓으면 아래 상자에 내용이 들어갑니다

JSON 여기에 붙여넣거나, 파일에서 불러온 내용을 고치세요

매달 하는 일인가요? TableDI 2에서 한 번 하고 작업으로 저장하면, 다음 달에는 다시 실행만 하면 됩니다. TableDI 2 무료 다운로드

업로드하지 않습니다. 파일은 이 탭의 JavaScript가 읽을 뿐 컴퓨터 밖으로 나가지 않습니다 — 어떤 서버도 보지 못하며, 탭을 닫으면 사라집니다.

엑셀로 JSON을 가져오는 세 가지 길과 그 대가

  • 파워 쿼리 —— 한국어 엑셀에서는 데이터 → 데이터 가져오기 → 파일에서 → JSON에서. 가장 철저한 길이지만 데스크톱 엑셀에서만 되고, 대화 상자를 여러 번 거쳐야 하며, 중첩된 레코드는 「확장」을 하나하나 눌러야 펼쳐집니다. 한 번 보고 말 데이터라면 데이터보다 시간이 더 비쌉니다.
  • CSV로 바꿔 주는 변환기 —— 문제를 옮겨 놓을 뿐입니다. 엑셀이 그 CSV를 열면서 다시 해석하기 때문에 BOM 없는 UTF-8이면 한글이 깨지고, 긴 번호는 1.23457E+17처럼 지수로 바뀝니다.
  • 시트에 그냥 붙여넣기 —— JSON이 이미 평평할 때만 됩니다. 실제 응답은 그렇지 않습니다.

이 페이지는 .xlsx를 직접 씁니다. 엑셀이 다시 해석할 단계가 없으니 값이 들어간 그대로 열립니다.

앞자리 0과 긴 번호는 문자열로 남습니다

주문번호 "00012345", 우편번호 "03058"처럼 앞자리가 0인 값, 그리고 16자리 이상인 값은 숫자가 아니라 글자로 시트에 씁니다. 엑셀은 유효숫자 15자리까지만 정확히 다루기 때문에, 16자리 카드 승인번호나 주문번호를 숫자로 쓰면 끝자리가 조용히 0으로 바뀝니다. 8600처럼 앞자리 0이 없는 짧은 숫자는 숫자로 써서 합계를 낼 수 있습니다.

중첩은 열로, 목록은 한 칸 또는 번호 붙은 열로

{"고객": {"이름": "김민지", "지역": "서울"}}은 고객.이름, 고객.지역 두 열이 됩니다. 태그 같은 문자열 목록은 한 칸에 이어 쓰고, 객체 목록은 items.0.sku, items.1.sku처럼 번호를 붙여 따로 둡니다. 어떤 레코드에 필드가 없으면 그 칸은 비워 둘 뿐, 행이 당겨지지 않습니다.

받는 시트의 모양

시트는 Sheet1 하나입니다. 첫 행은 모든 레코드의 필드를 처음 나온 순서대로 합친 머리글이고, 그 아래로 레코드 하나가 한 행입니다. 한글 키는 그대로 머리글이 됩니다. 페이지의 미리보기는 처음 200행이고, 내려받는 파일에는 전부 들어 있습니다.

이 도구가 하지 않는 일

  • 날짜로 바꾸기. "2026-09-15" 같은 날짜 문자열은 글자 그대로 들어갑니다. 엑셀에서 날짜로 계산하려면 그 열에 「텍스트 나누기」를 한 번 거치세요.
  • 16자리를 넘는 숫자를 숫자 그대로 지키기. JSON에 따옴표 없이 쓰인 아주 긴 정수는 해석하는 순간 자바스크립트 숫자의 정밀도에 맞춰 깎입니다. 긴 id는 JSON에서 문자열로 내보내야 끝까지 정확합니다.
  • 여러 시트 만들기. 결과는 한 시트입니다.
  • 서식. 열 너비, 통화 기호, 색은 넣지 않습니다. 값만 씁니다.

같은 응답이 매주 같은 시트로 가야 한다면

그때부터는 변환이 아니라 작업입니다. 재미있는 부분은 API가 필드 이름을 바꾸거나 아무것도 돌려주지 않는 날에 무슨 일이 일어나느냐입니다. TableDI 2는 매 기간 다시 해야 하는 파일 작업을 위한 데스크톱 앱입니다. 원본·규칙·전달 방식을 하나의 작업으로 저장해 두므로, 다음 달에는 새 파일을 넣고 다시 실행하기만 하면 됩니다. 모든 처리는 내 컴퓨터 안에서 이루어집니다.

자주 묻는 질문

파워 쿼리나 엑셀 추가 기능이 있어야 하나요?

아니요. 변환은 이 페이지에서 일어나고 .xlsx도 브라우저가 씁니다. .xlsx를 여는 엑셀이면 버전과 상관없이 열리고, 맥용 엑셀, 웹용 엑셀, 한셀, LibreOffice에서도 열립니다.

CSV가 아니라 .xlsx로 받는 이유가 뭔가요?

엑셀은 CSV를 열 때 다시 해석합니다. BOM 없는 UTF-8이면 한글이 깨지고, 긴 번호는 지수 표기로 바뀝니다. .xlsx는 값이 값으로 들어가 있어서 그런 일이 없습니다. 스크립트에 넘길 거라면 CSV 받기 버튼도 있습니다.

주문번호 앞의 0이 사라지지 않나요?

사라지지 않습니다. 앞자리가 0인 값과 16자리 이상인 값은 글자로 씁니다. 다만 JSON에서 따옴표 없는 숫자로 내보낸 값은 이미 앞자리 0이 없는 숫자이므로 되살릴 수 없습니다.

JSON이 객체 하나로 감싸져 있어도 되나요?

됩니다. {"data": [ … ]}처럼 감싼 응답이면 객체가 든 첫 번째 배열을 찾아 쓰고, 어느 키를 읽었는지 표 위에 보여 줍니다.

몇 행까지 되나요?

정해진 수는 없고 브라우저 탭의 메모리가 한도입니다. 엑셀 시트 한 장은 1,048,576행까지 담으니, 그보다 많으면 한도는 이 페이지가 아니라 엑셀입니다.

매달 하는 일인가요?

TableDI 2에서 한 번 해 보고 작업으로 저장합니다. 다음 달에는 새 파일을 넣고 다시 실행하면 됩니다.

macOS(Apple 실리콘·Intel). Windows 버전은 준비 중입니다(그동안 할 수 있는 일). 무료 버전은 체험판이 아닙니다 — 계정도 카드도 필요 없습니다.

2026-09-11 TableDI 팀이 마지막으로 확인했습니다. 이 페이지에 잘못된 내용이 있나요? 알려주세요 — 받은편지함은 하나이고, TableDI를 만드는 사람이 읽습니다.