이 도구는 무엇인가요?
대부분의 사람들은 표 형태의 데이터를 스프레드시트로 저장하고 공유하지만, 개발자나 API 입장에서는 같은 데이터가 JSON이나 CSV 형태로 필요할 때가 많습니다. 이 도구는 업로드한 엑셀 파일의 첫 번째 시트를 읽어서 첫 행을 열 제목으로 인식하고, 그 아래 모든 행을 JSON 객체 배열이나 CSV 파일로 변환해 줍니다. 필요한 형식을 선택하면 됩니다.
반대 방향으로도 작동합니다. JSON 객체 배열이나 CSV 텍스트를 붙여넣으면 실제 .xlsx 워크북을 만들어 주는데, 이 파일은 다운로드해서 엑셀, 구글 시트, 리브레오피스 캘크 등에서 바로 열어볼 수 있습니다.
모든 변환은 오픈소스 라이브러리인 SheetJS를 이용해 클라이언트 측, 즉 브라우저 안에서만 처리됩니다. 이 라이브러리가 엑셀의 바이너리 파일 형식을 브라우저에서 직접 해석하기 때문에, 어떤 시점에도 서버로 업로드되는 데이터가 없습니다.
출처: SheetJS는 .xlsx 파일이 따르는 ECMA-376 Office Open XML 파일 형식을 구현합니다.
왜 사용해야 할까요?
- 양방향 변환이 가능합니다. 엑셀을 JSON으로, 엑셀을 CSV로, 그리고 JSON/CSV를 다시 다운로드 가능한 .xlsx 파일로 만드는 기능이 한 도구에 모두 들어 있습니다.
- 별도 설치나 계정이 필요 없습니다. 지금 열려 있는 브라우저 탭에서 바로 작동합니다.
- 구형 .xls 형식과 최신 .xlsx 형식을 모두 지원합니다.
- 첫 번째 행의 열 제목을 자동으로 인식해서 JSON의 키 값이나 CSV의 열 이름으로 사용합니다.
- 100% 클라이언트 측 처리라서 스프레드시트 데이터가 어디에도 업로드되지 않습니다. 재무 데이터, 인사 정보, 고객 데이터처럼 민감한 자료를 다룰 때 특히 중요한 부분입니다.
사용 방법
- 엑셀을 JSON/CSV로 변환하려면 파일 입력란을 클릭해서 .xlsx 또는 .xls 파일을 선택한 뒤 'Convert to JSON' 또는 'Convert to CSV'를 클릭하세요.
- 결과를 확인한 뒤 복사하거나 다운로드 링크를 클릭해서 파일로 저장하세요.
- JSON/CSV를 엑셀로 변환하려면 두 번째 입력란에 JSON 배열이나 CSV 텍스트를 붙여넣으세요.
- 'Download as .xlsx'를 클릭하면 데이터를 담은 실제 엑셀 워크북이 생성되어 다운로드됩니다.
예시
입력
name, age, city 열을 가진 엑셀 시트 — 행: Alice, 30, NYC / Bob, 25, LA결과
[{"name":"Alice","age":30,"city":"NYC"},{"name":"Bob","age":25,"city":"LA"}]시트의 첫 번째 행이 객체의 키가 되고, 그 아래 각 행이 배열의 요소 하나씩이 됩니다.
실전 활용 팁
- 공유받은 엑셀 파일을 API 요청 본문으로 바꿔야 할 때: JSON으로 변환한 뒤 나온 배열을 요청 본문이나 테스트 스크립트에 그대로 붙여넣으면 됩니다.
- 스프레드시트 데이터를 데이터베이스로 가져와야 할 때: 대부분의 데이터베이스 임포트 도구는 CSV를 기본으로 지원하므로 먼저 CSV로 변환하세요.
- JSON API 응답으로 스프레드시트를 다시 만들어야 할 때: 응답으로 받은 배열을 두 번째 입력란에 붙여넣고 .xlsx로 다운로드하면 비개발자 동료에게도 바로 전달할 수 있습니다.
첫 번째 행이 중요한 이유
이 도구는 시트의 첫 번째 행을 열 제목으로 간주하며, 이 값이 그 아래 모든 행에 적용되는 JSON 키(또는 CSV 열 이름)로 사용됩니다. 스프레드시트 맨 위에 제목 줄이나 병합된 배너, 빈 행이 있다면 업로드하기 전에 미리 지워주세요. 그렇지 않으면 그 줄이 열 제목으로 잘못 인식되어 실제 데이터가 엉뚱한 키 아래에 밀려서 들어가게 됩니다.
자주 묻는 질문
워크북 안에 시트가 여러 개면 다 변환되나요?
첫 번째 시트만 변환됩니다. 데이터가 여러 시트에 나뉘어 있다면 업로드하기 전에 시트 순서를 바꾸거나 복제해서 한 시트씩 변환하거나, 다중 시트를 지원하는 전용 도구를 이용해 보세요.
업로드한 스프레드시트가 서버로 전송되나요?
아니요. 파일은 자바스크립트를 통해 브라우저 안에서만 읽고 해석됩니다. 어디로도 전송되지 않기 때문에 회사 기밀 자료나 개인 정보가 담긴 파일도 안심하고 사용할 수 있습니다.
빈 셀은 어떻게 처리되나요?
빈 셀은 해당 행의 JSON 객체에서 아예 빠지거나 CSV에서는 빈 칸으로 남습니다. 오류는 발생하지 않습니다.
JSON을 거치지 않고 CSV를 바로 엑셀로 변환할 수 있나요?
네, 가능합니다. CSV 텍스트를 두 번째 입력란에 바로 붙여넣고 'Download as .xlsx'를 클릭하세요. 붙여넣은 텍스트가 JSON인지 CSV인지는 도구가 자동으로 판별합니다.
셀 서식이나 수식, 색상도 그대로 유지되나요?
아니요, 셀에 담긴 값만 변환됩니다. 수식은 계산된 결과값으로 읽히며, 서식이나 색상, 병합된 셀은 JSON/CSV 결과물이나 새로 만들어진 .xlsx 파일에 반영되지 않습니다.