엑셀 CSV 한글 깨짐과 앞자리 0, 가져올 때 함께 지키는 방법
샘플 파일로 먼저 확인해 보세요
연습용 CSV 다운로드 · 실제 주문 내역이 아닌 가상 데이터 3행이에요. UTF-8 BOM은 한글 인식을 돕지만 앞자리 0과 긴 번호까지 보호하지는 않아요.
데이터 → 텍스트/CSV에서 가져오기에서 상품코드·외부 주문번호를 텍스트, 수량을 숫자로 지정한 뒤 로드해 주세요. 정상 결과는 아래와 같고, 수량 합계는 12예요.
| 상품명 | 상품코드(텍스트) | 외부 주문번호(텍스트) | 수량(숫자) |
|---|---|---|---|
| 파란 머그컵 | 00127 | 1234567890123456 | 2 |
| 연습용 접시 | 00008 | 2234567890123457 | 10 |
| 연습용 컵 | A0012 | 3234567890123458 | 0 |
확인한 공식 자료: UTF-8 CSV 가져오기 (2026-10-07 확인) · 앞자리 0과 긴 번호 보존 (2026-10-07 확인)
CSV를 열었더니 한글이 깨지고 상품코드의 맨 앞 0도 사라졌나요? 먼저 원본을 보관한 뒤, 엑셀의 ‘텍스트/CSV에서 가져오기’로 다시 불러오세요. 글자는 인코딩을 맞추고, 상품코드처럼 계산하지 않는 번호 열은 처음부터 텍스트로 지정하는 것이 핵심이에요.
두 문제는 원인이 달라요. UTF-8로 저장했다고 해서 앞자리 0까지 자동으로 보호되는 것은 아니에요. 한글이 정상으로 보여도 번호가 변했을 수 있으니 함께 확인해야 해요.
설명도 보기 — 실제 Excel 화면이 아니에요

직접 제작한 설명도. 실제 엑셀 화면이 아닙니다.
1. 파일을 다시 저장하기 전에 원본부터 남겨두세요
예를 들어 상품명, 상품코드, 수량이 들어 있는 주문 목록을 받았다고 해볼게요. 이 글의 값은 모두 설명용 가상 데이터예요.
- 상품명: 파란 머그컵
- 상품코드: 00127
- 외부 주문번호: 1234567890123456
- 수량: 2
이때 계산할 열은 수량이에요. 상품코드와 주문번호는 숫자 모양을 한 식별자예요. 합계를 구할 이유가 없고, 한 자리라도 달라지면 다른 주문이 돼요. 따라서 두 열은 텍스트로 읽는 편이 안전해요.
이미 잘못 열린 화면을 저장했다면 원본 파일을 다시 내려받을 수 있는지 먼저 확인하세요. 손상된 값의 표시 형식만 바꿔서는 원래 번호를 알아낼 수 없어요.
2. 한글은 UTF-8 인식부터 확인합니다
Microsoft는 BOM이 포함된 UTF-8 CSV는 엑셀에서 일반적인 방식으로 열 수 있다고 안내해요. BOM이 없는 경우에는 Power Query나 텍스트 가져오기 경로를 사용할 수 있어요. Microsoft의 UTF-8 CSV 안내
빈 통합 문서를 열고 ‘데이터 → 텍스트/CSV에서’를 찾아 파일을 선택하세요. 메뉴 구성은 엑셀 버전에 따라 조금 다를 수 있어요. 미리 보기에서 원본이 UTF-8임을 알고 있다면 파일 원본 또는 인코딩을 UTF-8로 맞춰요. 구분 기호도 쉼표인지 확인하세요.
여기서 첫 줄만 보지 말고 한글이 있는 여러 행을 살펴보세요. 원본이 다른 인코딩인데 무조건 UTF-8을 고르면 여전히 깨질 수 있어요. 내보낸 서비스의 파일 형식 설명을 먼저 확인하는 편이 빨라요.
3. 바로 로드하지 말고 코드 열의 형식을 지정하세요
미리 보기가 정상이어도 번호 열 확인이 남았어요. ‘데이터 변환’ 또는 버전에 따라 ‘편집’을 눌러 Power Query 편집기로 들어가요.
- 상품코드와 주문번호 열을 선택해요.
- 데이터 형식을 ‘텍스트’로 바꿔요.
- 형식 변경 창에서 기존 변환을 바꾸는 선택지가 있으면 현재 형식을 대체해요.
- 적용된 단계에 자동 생성된 숫자 형식 변환이 있다면, 그 단계에서 이미 0이나 자릿수가 바뀌지 않았는지 확인해요.
- 원본 값과 일치할 때 ‘닫기 및 로드’를 선택해요.
중요한 지점은 ‘숫자로 변환된 다음 텍스트로 바꾸기’가 아니라, 원래 문자열이 유지되는 단계에서 텍스트로 읽는 것이에요. 이미 변한 단계가 있다면 가져오기를 다시 구성하세요. Microsoft도 Power Query에서 열을 텍스트로 지정하고 현재 형식을 대체하는 절차를 안내해요. 앞자리 0과 긴 숫자 보존 안내
설명도 보기 — 실제 Excel 화면이 아니에요

가상 데이터로 만든 비교 그림. 주문번호는 실제 거래 정보가 아닙니다.
4. 16자리 이상 번호는 특히 조심하세요
엑셀 숫자의 정밀도는 유효 숫자 15자리까지예요. 16자리 이상 식별자를 숫자로 읽으면 뒷자리가 변할 수 있어요. 지수 표기만 풀어주면 해결되는 상황인지, 실제 값이 이미 바뀐 상황인지 구분해야 해요. 위 예시의 주문번호는 처음부터 텍스트로 보존하는 것이 맞아요. Microsoft의 숫자 정밀도 설명
완료 후에는 세 가지를 비교해 보세요. 00127의 0이 남았는지, 긴 주문번호가 한 자리씩 일치하는지, 수량 2는 계산 가능한 숫자로 들어왔는지예요. 다른 팀에 넘길 때도 이 확인 기준을 함께 적으면 실수를 줄이는 데 도움이 돼요.
자동화할 때 남겨두면 좋은 작업 규칙
매번 같은 구조의 파일을 받는다면 ‘문자 열 목록’을 짧게 만들어 두세요. 예를 들어 상품코드·주문번호는 텍스트, 수량·금액은 숫자라고 정하는 방식이에요. 파일 이름보다 열의 의미를 기준으로 관리하면 내보내기 서비스가 바뀌어도 점검하기 쉬워요.
AI에게 파일 정리를 부탁할 때도 “숫자처럼 보여도 상품코드와 주문번호는 문자열로 보존해 줘”라고 명시하세요. 실제 고객 연락처나 결제 정보가 든 파일은 회사의 승인된 도구와 데이터 처리 기준을 먼저 확인해야 해요. 설명을 요청할 때는 위처럼 가상 값만으로도 충분해요.
가상 주문 목록으로 가져오기 결과를 검산해 볼게요
파일이 커질수록 첫 행만 보고 넘어가기 쉬워요. 실제 업무 파일을 만지기 전에는 작은 검증용 목록을 만들어 두는 방법을 권해요. 상품코드가 짧은 행, 0이 두 개 붙은 행, 긴 주문번호가 있는 행을 일부러 섞어두는 거예요.
- 첫 번째 행: 상품코드 00127 / 주문번호 1234567890123456 / 수량 2
- 두 번째 행: 상품코드 00008 / 주문번호 2234567890123457 / 수량 10
- 세 번째 행: 상품코드 A0012 / 주문번호 3234567890123458 / 수량 0
이 예시에서 상품코드는 다섯 글자라는 규칙을 가정했어요. 따라서 첫 행은 00127, 둘째 행은 00008 그대로 보여야 해요. A0012는 문자와 숫자가 섞여 있어도 같은 상품코드 열에 남아야 해요. 수량은 세 행을 합쳐 12가 되어야 하고요.
이런 식으로 ‘보존해야 할 문자’와 ‘계산해야 할 숫자’를 따로 검사하면 모든 열을 무조건 텍스트로 바꾸는 실수도 피할 수 있어요. 수량까지 텍스트로 읽었다면 번호는 멀쩡해도 이후 집계가 기대와 다르게 될 수 있으니, 계산 결과까지 확인하는 것이 좋아요.
반대로 수량 0과 빈칸을 같은 의미로 처리해서도 안 돼요. 이 가상 예시에서는 0이 입력된 수량이라는 뜻이고, 빈칸은 값이 제공되지 않았다는 뜻으로 구분할게요. 실제 업무에서는 빈칸을 허용하는지, 누락 행을 오류로 볼지 담당자와 먼저 정해두세요. 프로그램이 알아서 판단하게 두기보다 파일을 만드는 쪽과 받는 쪽의 규칙을 맞추는 편이 확실해요.
설명도 보기 — 실제 Excel 화면이 아니에요

이 글의 가상 데이터로 구성한 검증 카드입니다. 실제 주문 내역이 아닙니다.
미리 보기에서 문제가 보일 때는 여기서 멈추세요
한글은 정상인데 내용이 한 열에 몰려 있다면 인코딩을 계속 바꾸기 전에 구분 기호를 확인해요. 원래 세 열이었던 파일이 열 하나로 읽히는 문제와 한글이 깨지는 문제는 구분해서 봐야 해요. 파일을 내보낸 쪽의 형식과 미리 보기 결과를 비교하고, 잘 모르겠으면 작은 샘플 파일부터 요청하세요.
코드 열의 일부 행만 변했다면 ‘맨 위 행이 맞으니 전체가 맞다’고 결론 내리지 마세요. 짧은 숫자형 코드, 영문이 섞인 코드, 0으로 시작하는 코드가 각각 들어 있는 행을 골라 대조해요. 실제 오류가 발생한 행의 바로 앞뒤도 함께 보면 원본에 값이 빠졌거나 다른 형식이 섞인 상황을 찾기 쉬워요.
자동으로 붙은 형식 변경 단계를 삭제하거나 수정할 때는 결과를 한 단계씩 확인하세요. 어디서 값이 변하는지 모른 채 뒤에서 보정 열을 여러 개 추가하면 원인이 가려져요. 원본 파일을 기준으로 새 쿼리를 만들어 비교하는 편이 이해하기 쉬운 경우도 있어요. 정확한 복구 경로는 현재 적용된 단계와 원본 상태에 따라 달라져요.
이미 값이 바뀐 파일만 남았다면, 기억이나 패턴으로 번호를 채워 넣지 않는 것이 중요해요. 예를 들어 127의 원래 값이 00127인지 0127인지 파일만 보고 확정할 수 없는 경우가 있어요. 정해진 코드 규칙이나 발급 시스템의 원본 기록을 확인한 뒤 보정해야 해요.
다음 사람에게 넘길 때 적어둘 네 줄
파일에 문제가 없다는 말 대신, 확인한 내용을 짧게 남겨보세요. 아래 문구는 전달 메모의 예시예요.
“가져오기 기준: 원본 파일은 UTF-8. 상품코드·주문번호는 텍스트, 수량은 숫자. 코드가 0으로 시작하는 표본과 16자리 주문번호를 대조했고, 테스트 수량 합계는 12로 확인. 실제 전달 파일은 담당자가 최종 검토.”
여기서 ‘확인’이라고 적는 항목은 정말 대조한 것만 남겨야 해요. 테스트 파일의 결과를 실제 고객 파일의 검증 결과처럼 적으면 안 돼요. 행 개수, 금액 합계 등 중요한 기준이 있다면 파일별로 따로 기록하세요.
반복 업무라면 원본 보관 폴더, 작업용 파일, 전달용 파일의 이름도 구분해 두는 편이 좋아요. 파일 날짜와 처리 대상을 붙이면 문제가 생겼을 때 무엇을 기준으로 만들었는지 추적하기 쉬워요. 다만 고객 이름이나 연락처를 파일명에 넣을 필요는 없는지 한 번 더 생각해 보세요. 업무 식별번호처럼 덜 민감한 값으로 구분할 수 있다면 그 방법을 우선 검토할 수 있어요.
내보내는 쪽에도 파일 규칙을 요청할 수 있습니다
같은 문제가 계속된다면 받는 쪽에서 매번 고치는 대신, 파일을 내보내는 담당자에게 필요한 규칙을 정리해 보세요. 요청 내용은 ‘한글이 안 깨지게 해주세요’보다 구체적인 편이 좋아요. 원본 인코딩, 열 이름, 식별자 열, 허용하는 빈값을 함께 적으면 확인하기 쉬워요.
예를 들어 ‘상품코드는 앞자리 0을 포함한 원래 문자열로 전달하고, 주문번호는 자릿수를 바꾸지 말아주세요. 파일 인코딩과 구분 기호도 알려주세요’라고 요청할 수 있어요. 특정 서비스가 어떤 내보내기 옵션을 제공하는지는 그 서비스의 실제 화면과 안내에서 확인해야 해요.
새 형식으로 바뀐 첫 파일은 기존 절차로 바로 자동 처리하지 말고 검증용 표본과 비교하는 것을 권해요. 열 이름이나 순서가 달라졌는지, 문자열로 받기로 한 코드가 그대로인지 확인한 뒤 반복 작업에 반영하세요. 가져오기 방법을 정해두는 것만큼 파일의 형식 변경을 알아차리는 기준도 중요해요.
자주 묻는 질문
셀 서식을 00000으로 바꾸면 되나요? 고정 자릿수 표시에는 쓸 수 있지만, 임의로 길이가 다른 코드의 원본을 복원하는 방법은 아니에요. 외부 시스템에 넘길 식별자는 텍스트로 관리하고 원본과 대조하세요.
최신 엑셀은 자동 변환을 끌 수 있나요? Microsoft 365용 Excel과 Excel 2024 계열에는 자동 데이터 변환 설정이 안내되어 있어요. 모든 구버전에 같은 메뉴가 있는 것은 아니며, 설정이 있어도 가져오기 결과 검증은 필요해요. 지원 버전 확인
CSV로 다시 저장한 뒤 더블클릭해도 괜찮나요? 다시 여는 프로그램이 값을 숫자로 판단할 가능성을 생각해야 해요. 보관용 통합 문서와 전달용 CSV를 구분하고, 전달용 파일은 같은 가져오기 절차로 재검증하는 것을 권해요.
한글을 고친 뒤 번호까지 확인하면 작업이 끝나요. 원본 보관, 인코딩 확인, 식별자 텍스트 지정, 원본 대조 순서만 기억해 두세요.



