CSV와 XLSX, 언제 무엇을 써야 할까
작성일:
엑셀에서 “다른 이름으로 저장”을 누르면 XLSX, CSV, XLS 등 여러 형식이 나옵니다. 둘 다 표를 담는 것 같지만 성격이 완전히 다릅니다.
한눈에 비교
| CSV | XLSX | |
|---|---|---|
| 정체 | 쉼표로 칸을 나눈 텍스트 파일 | 엑셀 통합 문서 (XML을 묶은 ZIP) |
| 시트 | 1개 | 여러 개 |
| 서식(색·글꼴·테두리) | ❌ | ✅ |
| 수식 | ❌ (값만 저장) | ✅ |
| 날짜·숫자 형식 | ❌ (글자로만 저장) | ✅ |
| 인코딩 문제 | 있음 (한글 깨짐) | 없음 |
| 메모장으로 열기 | ✅ | ❌ |
| 프로그램·DB 호환성 | 거의 모든 곳 | 엑셀 계열 프로그램 |
| 용량 | 작음 | 보통 (압축됨) |
CSV가 좋은 경우
- 다른 시스템에 데이터를 넣을 때: 쇼핑몰 상품 등록, 회계 프로그램, 데이터베이스, 메일 발송 도구 등은 대부분 CSV로 가져옵니다.
- 프로그래밍·분석: 파이썬, R, SQL 도구에서 바로 읽을 수 있습니다.
- 변경 이력 관리: 텍스트 파일이라 Git으로 무엇이 바뀌었는지 비교하기 쉽습니다.
XLSX가 좋은 경우
- 사람이 보고 편집할 문서: 서식, 수식, 여러 시트, 차트를 써야 할 때
- 여러 사람과 공유: 인코딩 문제가 없어서 누구 컴퓨터에서나 똑같이 열립니다.
- 데이터를 정확히 보존: 앞자리 0이나 날짜가 엑셀이 여는 방식에 따라 바뀌지 않습니다.
CSV를 쓸 때 생기는 두 가지 대표적인 문제
- 한글이 깨진다 — CSV에는 인코딩 정보가 없어서, 한국어 엑셀이 UTF-8 CSV를 잘못 읽습니다. → CSV 한글 깨짐 해결
- 앞자리 0이 사라진다 — 엑셀이
007같은 코드를 숫자로 바꿉니다. → 앞자리 0 지키기
두 문제 모두 CSV를 XLSX로 변환해 두면 해결됩니다. CSV → XLSX 변환기는 인코딩을 자동 판별하고 앞자리 0과 긴 번호를 글자 그대로 지킵니다.
XLSX를 CSV로 바꿀 때 알아둘 점
XLSX → CSV로 바꾸면 다음이 일어납니다.
- 시트마다 CSV 파일이 하나씩 만들어집니다(시트가 여러 개면 ZIP으로 받음).
- 수식은 마지막 계산 결과값으로 바뀝니다.
- 날짜는
2026-01-15같은 ISO 형식으로 저장되어 어느 나라 프로그램에서도 같은 날짜로 읽힙니다. - 기본 설정이 BOM이 포함된 UTF-8이라 엑셀에서 다시 열어도 한글이 깨지지 않습니다.
XLS는요?
.xls는 엑셀 97~2003의 옛 형식입니다. 행 수가 65,536개로 제한되고, 일부 새 도구와 웹사이트는 받지 않습니다. XLS → XLSX로 바꿔 두면 용량도 줄고 호환성도 좋아집니다.
상황별 선택 요약
| 상황 | 추천 형식 |
|---|---|
| 동료에게 보고서 공유 | XLSX |
| 쇼핑몰·DB·프로그램에 업로드 | CSV (BOM 포함 UTF-8 여부는 해당 시스템 안내 확인) |
| 개발용 데이터, 버전 관리 | CSV 또는 JSON |
| 장기 보관 (서식 포함) | XLSX |
| 장기 보관 (데이터만) | CSV |
정리
사람이 볼 문서는 XLSX, 시스템에 넣을 데이터는 CSV로 기억하면 됩니다. CSV를 엑셀에서 열 때 생기는 한글 깨짐과 0 사라짐은 XLSX로 변환해 두면 피할 수 있습니다.