CSV를 Excel(XLSX)로 변환: 브라우저에서 데이터 타입 손실 없이 정확하게
이 페이지는 콤마(, ), 세미콜론(;), 또는 탭(\t)으로 구분된 일반 텍스트 CSV 파일을 받아서 Excel 통합 문서(XLSX)로 변환합니다. 모든 행과 열이 첫 번째 워크시트에 그대로 보존되며, 변환 전에 미리보기를 통해 결과를 확인할 수 있습니다. 하지만 CSV에는 데이터 타입, 수식, 스타일이 존재하지 않는다는 근본적인 차이가 변환 결과에 직접 영향을 미치므로, 이 도구를 사용할 때는 그 차이를 정확히 이해해야 합니다.
변환은 전적으로 브라우저 내에서 이루어집니다. CSV 파일을 선택하면, 브라우저가 파일을 구문 분석하고 변환된 결과물을 사용자 기기에 로컬로 작성합니다. 어떠한 데이터도 서버에 업로드되지 않습니다. 이러한 클라이언트 측 처리는 민감한 급여 내역, 고객 목록 또는 재무 스프레드시트가 사용자 기기를 벗어나지 않도록 하는 의도적인 개인 정보 보호 기능입니다.
변환기는 한 번에 하나의 파일만 처리할 수 있으며, 파일 크기는 최대 8MB로 제한됩니다. 또한, 최대 10,000개의 행과 200개의 열을 처리할 수 있습니다. 변환에 약 12초 이상 소요되면 "This conversion is taking too long. Try a smaller file." 메시지와 함께 중단됩니다.
CSV가 변환의 한쪽 끝에 있을 때, 페이지는 쉼표, 세미콜론 또는 탭 중 하나를 구분 기호로 선택할 수 있는 옵션을 제공하며 (쉼표가 기본값입니다). CSV 출력은 첫 번째 행을 헤더로 사용하고, 날짜는 ISO 텍스트로 변환되며, 빈 행은 삭제됩니다.
JSON 출력은 헤더 행을 키로 하는 객체 배열이며, 중복 헤더에는 _2, _3 접미사가 붙습니다. 숫자, 부울 및 날짜는 문자열로 변환되지 않고 해당 유형을 유지합니다. JSON 입력은 중첩된 객체가 점으로 구분된 열 이름(예: address.city)으로 평면화됩니다.
Excel의 경우, 첫 번째 워크시트만 읽히고, 출력 통합 문서의 시트 이름은 Sheet1입니다. 셀은 일반 값으로 작성되며, 수식이나 스타일은 포함되지 않습니다. 값 유형은 보존됩니다.
변환 결과는 미리보기 테이블(처음 8개 행과 8개 열), 행/열 개수 및 출력 크기를 보여주며, 단일 출력 파일을 위한 하나의 다운로드 버튼이 제공됩니다.
오류 메시지는 다음과 같습니다:
- Choose a CSV, JSON or XLSX file.
- This file is too large. Use a file under ‹max›.
- Choose a different output format.
- This CSV could not be parsed.
- This JSON is invalid or not table-shaped.
- This Excel file could not be opened.
- This file has no table rows.
- Conversion cancelled.
- Could not convert this file.
- This conversion is taking too long. Try a smaller file.
CSV와 XLSX의 데이터 타입 불일치 – 모든 값은 텍스트로 저장된다
CSV는 순수한 텍스트 형식입니다. 숫자, 날짜, 우편번호 같은 데이터도 모두 문자열로 기록됩니다. 이 도구는 CSV의 모든 필드를 XLSX의 텍스트 셀(문자열)로 그대로 옮깁니다. 숫자로 인식되어야 하는 값이라도 자동으로 숫자 형식으로 변환되지 않습니다. 예를 들어 01234라는 값은 CSV에서는 문자열이지만, 일반적인 Excel 가져오기에서는 선행 0이 제거되어 1234가 됩니다. 이 도구는 선행 0을 포함한 그대로 01234라는 텍스트로 저장하므로, ZIP 코드나 계좌번호 같은 식별자를 안전하게 보존할 수 있습니다. 반면, 숫자 계산이 필요한 데이터(예: 3500)는 XLSX에서 텍스트로 남기기 때문에, Excel에서 해당 셀을 선택한 후 셀 서식 > 숫자로 변경해야 계산이 가능해집니다. 날짜도 마찬가지입니다. CSV에 2025-03-21이 들어 있으면 Excel에서 날짜로 인식되지 않으므로, 사용자가 직접 날짜 서식을 적용해야 합니다.
구분자 선택 – 파일이 말해주지 않는다
CSV 파일은 파일 확장자 외에는 구분자 정보를 가지고 있지 않습니다. 따라서 이 도구에서는 사용자가 변환 전에 콤마, 세미콜론, 탭 중 하나를 직접 선택해야 합니다. 잘못된 구분자를 선택하면 CSV가 올바르게 파싱되지 않고 This CSV could not be parsed. 오류가 발생합니다. 예를 들어, 유럽 지역에서 주로 사용하는 세미콜론 구분 CSV를 콤마로 읽으려 하면 모든 데이터가 한 셀에 들어가거나 열이 깨집니다. 구분자 선택은 단순한 설정이 아니라 데이터 무결성에 직결되는 단계입니다.
CSV가 가질 수 없는 것 – 단일 시트, 서식, 수식
CSV 형식은 여러 시트, 셀 스타일, 조건부 서식, 수식, 병합된 셀을 지원하지 않습니다. 따라서 이 도구의 출력 XLSX는 단일 워크시트만을 가지며, 모든 데이터는 스타일 없는 원시 텍스트로 배치됩니다. 변환 후 Excel에서 수식이나 피벗 테이블을 적용하려면 사용자가 직접 추가 작업을 해야 합니다. 이는 CSV의 한계이지 도구의 결함이 아닙니다.
오류 메시지와 그 의미 – 파일 크기, 파싱 실패, 빈 테이블
이 도구는 변환 과정에서 발생할 수 있는 다양한 오류를 명확히 알려줍니다.
| 오류 메시지 | 발생 조건 |
|---|---|
| "Choose a CSV, JSON or XLSX file." | 지원하지 않는 형식의 파일을 선택했을 때 |
| "This file is too large. Use a file under ‹max›." | 파일 크기가 도구의 최대 제한을 초과했을 때 |
| "This CSV could not be parsed." | CSV 파일이 구분자 패턴과 일치하지 않거나, 따옴표 규칙이 깨져 있을 때 |
| "This file has no table rows." | CSV에 데이터 행이 전혀 없을 때 (헤더만 있거나 빈 파일) |
| "This conversion is taking too long. Try a smaller file." | 변환 시간이 일정 시간을 초과했을 때 |
| "Conversion cancelled." | 사용자가 변환을 취소했을 때 |
| "Could not convert this file." | 변환 중 알 수 없는 오류가 발생했을 때 |
특히 "This CSV could not be parsed." 오류는 CSV의 일반적인 문제인 컬럼 내 줄바꿈, 따옴표로 묶이지 않은 필드 내 콤마, 이스케이프 문자 누락 등이 원인입니다. CSV 표준(RFC 4180)에서는 필드에 구분자가 포함될 경우 큰따옴표로 전체를 감싸야 합니다. 만약 "Hello, World"가 아닌 Hello, World가 그대로 있으면, 콤마가 구분자로 해석되어 열이 깨집니다.
완전한 클라이언트 측 처리 – 데이터가 서버를 떠나지 않는다
이 도구의 모든 변환은 사용자의 브라우저 내에서 수행됩니다. 파일을 읽고, 사용자가 선택한 구분자로 행을 분할한 후, 변환된 출력을 장치에 로컬로 기록합니다. 파일이 외부 서버로 업로드되지 않으므로 개인정보 보호와 보안에 민감한 데이터(고객 목록, 재무 데이터, 의료 기록)를 안전하게 처리할 수 있습니다. 단, 브라우저의 메모리와 처리 성능에 의존하므로 파일 크기가 8MB를 초과하거나 10,000행 또는 200열을 초과하는 매우 큰 파일은 변환 시간이 오래 걸리거나 오류를 일으킬 수 있습니다. 변환에 약 12초 이상 소요되면 "This conversion is taking too long. Try a smaller file." 메시지와 함께 중단됩니다.
FAQ
Q: 변환 후에도 선행 0이 사라지지 않나요?
A: 네, 사라지지 않습니다. CSV의 모든 값은 텍스트로 저장되므로 00123이 그대로 00123로 유지됩니다.
Q: 여러 시트로 나누어진 Excel 파일을 만들 수 있나요? A: 아닙니다. CSV에는 시트 개념이 없으므로 출력 XLSX는 항상 단일 시트(Sheet1)만 포함합니다. 여러 시트가 필요하면 변환 후 Excel에서 수동으로 추가하거나, 여러 개의 CSV를 각각 변환해야 합니다.
Q: 날짜가 숫자로 인식되지 않아요. 어떻게 해야 하나요? A: 변환 후 Excel에서 해당 열을 선택하고, 홈 > 셀 서식 > 날짜에서 원하는 형식을 적용하세요. CSV의 날짜가 YYYY-MM-DD 같은 표준 형식이면 인식이 잘 되지만, 사용자 지정 형식(예: DD/MM/YYYY)은 직접 변환 전에 미리 확인해야 합니다.
Q: 구분자를 잘못 선택했는데 파일을 다시 업로드해야 하나요? A: 예, 다시 선택해야 합니다. 변환 전에 구분자를 정확히 선택하세요. 파일을 미리보기로 확인할 수 있으므로, 결과 테이블이 올바르게 나오는지 보고 다운로드하기 전에 수정할 수 있습니다.
Q: 최대 파일 크기는 얼마인가요? A: 파일 크기는 최대 8MB입니다. 테이블은 최대 10,000행과 200열로 제한됩니다. 변환에 약 12초 이상 소요되면 "This conversion is taking too long. Try a smaller file." 메시지와 함께 중단됩니다.