엑셀을 이용을 하다보면 이런저런 확장자의 목록 파일들을 로드를 해야 할 경우가 있다. 확장자가 엑셀 고유의 xls나 xlsx면 상관이 없겠지만 txt, csv 등등의 목록을 불러와서 뭔가를 해야 할 경우가 있다.


이런 경우에 파일 인코딩 문제로 인해서 한글 부분이 알아볼 수 없게 깨지는 경우가 있기 때문에 정리를 해보았는데 여러 경우에 대해서 한번만 알아두면 자주 써먹을 수 있다.

나 같은 경우도 데이터등을 엑셀에서 일차로 나누고 가공을 해서 작업을 하는 경우가 많고 편하기 때문에 한다.


회사에서 일을 하다보면 아 깨지네 에이 안해 이렇게 하고 지워버릴수는 없고 꼭 해야 하는 경우가 있다. 


전혀 어렵지 않는 부분이지만 모르면 답답하거나 어렵게 풀어야 하는 경우가 있기 때문에 이 기회를 빌어서 한번 알아보도록 하자.


엑셀 한글 깨질 때 txt,csv


먼저 안깨지는 경우부터 알아보도록 하자.


상황 1.csv나 txt 등등의 파일 인코딩이 ANSI로 되어 있는 경우.

엑셀을 열고 파일을 드래그앤드랍을 하면 정상적으로 한글이 불러와 진다.


엑셀에서 파일 -> 열기 (텍스트 파일)로 열어도 정상적으로 보인다.



문제는 파일 인코딩이 ANSI가 아닐 경우이다. 참고로 사용버전은 엑셀 2010버전이다. 


기본적으로 처음에 위처럼 했는데 한글이 깨지는 경우가 생긴다면 파일 인코딩을 확인을 해보자.


사용하는 에디터등에서 알아보면 되는데 기본적으로 메모장에서 확인해 볼 수 있다.

txt나 csv파일을 메모장으로 연 뒤에 메뉴중 파일 -> 다른 이름으로 저장에 보면 현재 파일이 저장되어 있는 인코딩이 보여진다.


현재 진행하는 대상 파일은 UTF-8로 되어 있고 엑셀에서 기본로드를 하면 깨져서 나온다.



아래처럼 쐅쐅거리면서 깨진다.



이를 해결 하기 위해서는 두가지가 있다.


1.파일 인코딩을 ANSI로 변경 저장하기.

가장 기본적이고 윈도우를 쓴다면 모두 깔려 있는 메모장에서 다른 이름으로 저장에서 인코딩 부분을 ANSI로 바꿔주고 엑셀에서 불러오면 끝.


2.파일 인코딩이 UTF8인 상태 그대로 엑셀에서 불러오기.

엑셀을 열어서 메뉴 중 데이터 -> 텍스트 선택 후 읽어옴



텍스트 마법사 팝업이 뜬다. 기본적으로 바꿔야 할 옵션은 어지간한 경우는 없으므로 그냥 다음을 누르면 된다.



그 다음은 구분 기호가 | 이거나 탭이거나 할 경우 알맞게 선택을 해주고 마침을 누르면 UTF8로 인코딩이 잡혀있는 파일이라도 깔끔하게 불러와 진다.



글 적으면서 사용했던 csv 데이터는 | 가 구분 기호였기 때문에 그부분만 바꿔주고 셀에 알맞게 뿌려졌다.



원본 데이터 형태



엑셀로 뭔가 문서작업을 할 경우에 할 수 있는 방법은 여러가지가 있으니 편하거나 빠른것을 하면 된다.


사실 이부분을 알기 전까지 나는 첫번째 방법인 파일을 열어서 UTF-8을 ANSI로 인코딩을 바꿔서 재저장하고 사용을 하는게 위주였다.


파일이 많을 경우나 변환시에 깨지는 문자등의 특정 데이터가 있을 경우는 수동으로 찾아서 맞춰야 하기 때문에 가끔 불편한 경우도 있었다.


엑셀은 업무를 볼 때 거의 필수에 가까울 정도로 편리하고 간편하고 꼭 필요한 요소이기 때문에 잘 다루면 다룰수록 시간을 절약을 할 수 있다.

한번은 무조건 열어야 하는데 보통 데이터라는게 용량이 크거나 줄수가 엄청나게 많은 경우가 많아서 메모장에서 열면 엄청 로드가 오래 걸린다. 별도 에디터를 써서 좀 더 빠르게 처리를 하긴 하지만 말이다.


아무튼 이후로는 파일을 새로 저장하지 않고 데이터에서 텍스트 메뉴를 이용해서 로드하는 부분이 제일 간편한 거 같다.


디비에 밀어 넣기 위해서 csv로 뽑힌 데이터를 정리를 하거나 엑셀에서 일단 불러서 다시 두개의 셀을 하나의 스트링으로 합치거나 좀 더 가공을 해야 할 필요가 있을 때 불러 쓰게 될 때 이용하면 좋을 거 같다.




Posted by