CSV와 엑셀의 차이

형식의 차이와 데이터 전달·검사 시 유의할 점을 정리합니다.

각 형식이란

CSV(Comma-Separated Values)는 순수 텍스트입니다. 모든 행이 줄이고, 열은 구분자 — 보통 쉼표, 때로는 탭·세미콜론·파이프 — 로 구분됩니다. 첫 행은 보통 헤더입니다. 서식, 수식, 여러 시트 없이 값만 있는 단순하고 범용적인 구조로, 어떤 프로그래밍 언어, 데이터베이스, 애플리케이션도 읽을 수 있습니다.

엑셀(.xlsx)은 Microsoft가 개발한 바이너리 컨테이너 형식입니다. 셀 값, 서식(색·테두리·폰트), 수식, 차트, 이미지, 여러 워크시트를 하나의 파일에 저장합니다. 스프레드시트 애플리케이션에서 대화형 편집과 표시에 최적화되어 있으며, 데이터 교환용이 아닙니다.

기능 비교

여러 시트
엑셀: 시트 무제한. CSV: 없음 — CSV 파일 하나 = 데이터 테이블 하나. 여러 시트를 CSV로 저장하려면 여러 파일이 필요합니다.
수식
엑셀: 자동 재계산되는 수식(=SUM(A1:A10)) 가능. CSV: 현재 계산된 값만 저장 — 수식은 CSV로 저장 시 사라집니다.
서식
엑셀: 셀 색, 굵게, 테두리, 숫자 형식, 조건부 서식. CSV: 없음 — 모든 서식이 CSV로 저장 시 소실됩니다.
문자 인코딩
엑셀: .xlsx는 내부적으로 UTF-16으로 텍스트를 저장하고 인코딩을 자동으로 처리. CSV: 인코딩이 파일 자체에 명시되지 않아 작성자와 읽는 쪽이 합의해야 하며, 이것이 글자 깨짐 문제의 원인.
파일 크기
CSV: 간결. 같은 데이터의 CSV는 .xlsx보다 보통 5~10배 작습니다. 전송이 빠르고 스크립트 처리가 쉽습니다.
상호 운용성
CSV: 모든 OS, 모든 언어, 모든 데이터베이스 — 애플리케이션 의존성 없음. 엑셀: Microsoft Office 또는 호환 소프트웨어(Google Sheets, LibreOffice)가 있어야 기본 지원.

CSV를 사용해야 할 때

엑셀을 사용해야 할 때

엑셀 → CSV 변환 시 자주 발생하는 문제

저장 시 잘못된 인코딩

”다른 이름으로 저장 → CSV(쉼표로 분리)”는 UTF-8이 아닌 시스템 지역 인코딩(한국어 Windows에서는 EUC-KR/CP949)으로 파일을 생성합니다. 다른 시스템에서 열면 한글이 깨집니다. 항상 ”다른 이름으로 저장 → CSV UTF-8(쉼표로 분리)”을 사용해 UTF-8 BOM 파일을 만드세요. 인코딩 문제 참고.

앞자리 0 소실

엑셀은 숫자처럼 보이는 값을 숫자로 처리합니다. 0으로 시작하는 상품 코드·우편번호·ID(예: 00123)가 123으로 저장·내보내집니다. 이를 방지하려면 데이터 입력 전 해당 열을 텍스트로 지정하거나, 내보내기 후 단일 검사로 수정하세요.

날짜 형식 변경

엑셀은 날짜를 내부적으로 일련번호로 저장하고 지역 설정에 따라 표시 형식을 적용합니다. CSV로 저장하면 날짜가 엑셀이 현재 표시 중인 형식으로 나타납니다 — 로케일에 따라 12/31/2024, 31/12/2024, 2024-12-31이 될 수 있습니다. 이 불일치가 다운스트림 시스템의 날짜 파싱을 망가뜨릴 수 있습니다.

수식이 값으로 내보내짐

=A1&”-”&B1 수식이 있는 셀은 현재 계산된 결과로 내보내집니다. 수식 자체는 영구히 사라집니다. 다운스트림 처리가 원래 수식 로직에 의존한다면 변환 전에 별도로 문서화하세요.

다중 시트 데이터 소실

CSV는 시트 하나만 담을 수 있습니다. 여러 시트 통합 문서를 CSV로 저장하면 엑셀이 활성 시트만 저장하고 나머지를 자동으로 버립니다. 필요한 각 시트를 개별적으로 내보내세요.

CSV를 엑셀에서 열 때 자주 발생하는 문제

글자 깨짐

엑셀은 BOM 없는 CSV를 열 때 지역 인코딩을 가정합니다. BOM 없는 UTF-8 파일은 비ASCII 내용이 깨집니다. 수정: 글자 깨짐 복원으로 UTF-8 BOM으로 변환한 뒤 엑셀에서 엽니다.

열이 올바르게 구분되지 않음

CSV가 세미콜론이나 탭 구분자를 사용하는데 엑셀이 쉼표를 기대하면(또는 반대) 모든 데이터가 하나의 열에 나타납니다. 형식·기본 검사로 구분자를 확인한 뒤, 올바른 구분자를 지정해 엑셀의 텍스트 가져오기 마법사로 여세요.

숫자가 텍스트로 처리됨

CSV에서 따옴표로 묶인 ”001”같은 값이 엑셀에서 텍스트로 열려 산술 연산이 불가능할 수 있습니다. 소수점 구분자로 마침표를 사용하는 1.5 같은 값은 쉼표를 소수점 구분자로 사용하는 로케일에서 올바르게 파싱되지 않을 수 있습니다.

도구로 열기

홈으로 · CSV 검사하기