앱으로 돌아가기

XLSX, CSV, TSV 간 변환 방법

최종 업데이트: 2026-05-22 · 작성: xlstools 팀

형식 변환은 실제 문제에 부딪힐 때까지는 단순해 보입니다: 특수 문자가 깨짐, 다중 시트 워크북이 데이터 손실, 수식이 사라짐, 날짜가 임의로 재포맷. 본 가이드는 각 변환에서 실제로 무엇이 일어나는지, 무손실로 수행하는 방법을 설명합니다.


4가지 형식 한눈에

형식 다중 시트 수식 서식 인코딩 일반 용도
XLSX UTF-8(바이너리) Excel 기본; 모든 기능
XLS 레거시(바이너리) 구형 Excel; 작은 파일
CSV UTF-8 BOM 포함 범용 교환; 단일 시트
TSV UTF-8 BOM 포함 DB 임포트; 탭 구분

무손실 변환은 XLSX ↔ XLS(양방향)와 CSV ↔ TSV(양방향, 구분자만 다름). 다른 모든 변환은 최소 한 기능을 잃음.


단계별 가이드

1단계 — 파일 업로드

네 가지 형식 중 어느 것이든 원본이 될 수 있음. 도구가 확장자와 내용으로 형식을 감지.

2단계 — 대상 형식 선택

버튼으로 선택:

  • XLSX(Excel 워크북) — 모든 기능, 다중 시트
  • CSV(쉼표 구분) — 범용, 단일 시트
  • TSV(탭 구분) — DB 임포트용

다중 시트 파일에서 CSV/TSV로 변환할 때는 어떤 시트를 내보낼지도 선택 — 나머지는 건너뜀.

3단계 — 다운로드

변환된 파일이 다운로드로 나타남. 출력 파일명은 원본 파일명을 유지하고 새 확장자로.


각 변환에서 살아남는 것

XLSX → CSV

  • ✅ 값 보존
  • ✅ 특수 문자(CJK, 악센트)가 UTF-8 BOM으로 보존
  • ✅ 날짜가 구성 가능한 형식으로 직렬화
  • ❌ 다중 시트 손실(하나 선택)
  • ❌ 수식이 마지막 계산값으로 평가됨
  • ❌ 서식 손실(색, 글꼴, 셀 너비)

XLSX → TSV

XLSX → CSV와 동일하지만 쉼표 대신 탭. DB 임포트(PostgreSQL COPY, MySQL LOAD DATA, BigQuery)에 가장 적합 — 값 내부의 쉼표로 인한 파싱 문제 없음.

CSV → XLSX

  • ✅ 값 보존
  • ✅ 자동 타이핑(숫자는 숫자가 되고 날짜는 날짜가 됨) — 보통 원하는 것
  • ⚠️ 단일 시트 — 복원할 다중 시트 구조 없음

CSV ↔ TSV

  • ✅ 무손실 — 구분자만 변경
  • ✅ 인코딩 보존(여전히 UTF-8 BOM 포함)

XLS → XLSX

  • ✅ 무손실 — 모든 기능 보존
  • ✅ 레거시 파일 현대화에 권장

UTF-8 BOM이란 무엇이며 왜 중요한가

CSV는 인코딩을 선언하는 내장 방법이 없음. Windows의 Excel은 UTF-8 BOM(파일 시작의 3바이트 마커)을 사용하여 CSV가 UTF-8임을 감지 — BOM이 없으면 Excel은 시스템 로캘에 따라 추측하며, 보통 중국어, 일본어, 한국어 또는 악센트 문자를 망가뜨림.

xlstools는 기본적으로 BOM을 작성. 다운스트림 도구(일부 Linux 스크립트, 특정 Python 파서)가 BOM을 기대하지 않으면 다음으로 제거 가능:

sed -i '1s/^\xEF\xBB\xBF//' file.csv

주요 활용 사례

회계 시스템에 CSV 전달

대부분의 ERP(NetSuite, Sage, QuickBooks)는 CSV를 받지만 XLSX는 받지 않음. BOM 활성화로 변환하여 악센트가 있는 공급업체 이름과 CJK 고객 이름이 올바르게 임포트.

DB 임포트용 TSV 준비

PostgreSQL의 COPY와 MySQL의 LOAD DATA INFILE은 모두 TSV로 가장 잘 작동 — 값에 포함된 쉼표를 걱정할 필요 없음. XLSX 내보내기를 따옴표 규칙과 씨름하지 않고 한 번의 클릭으로 TSV로 변환.

레거시 XLS 파일 현대화

일부 HR 시스템은 여전히 .xls(Excel 97–2003)를 출력. .xlsx로 변환하여 호환성 경고 없이 현대 Excel에서 열기 — 평균적으로 파일 크기 절반.


함정과 대처 방법

문제 원인 해결
Excel로 CSV 임포트 후 CJK 문자가 ???로 표시 BOM이 제거되었거나 도구가 ANSI로 다시 저장 다시 변환; Excel에서 열기 전에 메모장에서 CSV 편집하지 말기
ID의 선행 0이 사라짐(00123123) CSV → XLSX가 열을 숫자로 자동 타이핑 소스에서 열을 텍스트로 미리 포맷, 또는 명시적 텍스트 타이핑으로 Excel의 "데이터 가져오기" 대화상자를 통해 CSV 열기
날짜 형식이 예기치 않게 변경 Excel 로캘이 소스와 다르게 날짜 해석 TSV로 대신 변환 — TSV 사용 도구는 날짜를 자동 재포맷하는 경우가 드묾
XLSX → XLSX 왕복 후 수식이 #REF! 표시 소스에 더 이상 해결되지 않는 워크북 간 참조 있음 Excel에서 소스 열기, 변환 전 "선택하여 붙여넣기 → 값"

개인정보 및 보안

변환은 100% 브라우저 내(SheetJS 사용). 원본과 출력 파일은 장치를 떠나지 않음 — 민감한 급여, PII 또는 재무 데이터에 이상적.


관련 도구