강좌,팁

[팁:16] 엑셀파일(xls)로 저장하기

조회 수 34519 추천 수 0 2007.03.29 15:31:08
허창원 *.19.44.64

팁15에서 csv 파일을 소개하였는데요, 어제 어떤 업체를 방문하였다가 LabVIEW 프로그램에서 엑셀로 저장하는 것을 보았습니다. 그 엑셀파일을 열어보니 csv를 엑셀로 열었을 때와 다름없이 형식도 별로 갖추어지지 않았고, 데이터만 들어가 있더군요.
어라~ 이렇게밖에 저장못하네. 좋아~ 함 파헤쳐봐야지....
그래서 사무실로 돌아와 txt 파일을 csv로 저장했을 때처럼, xls 파일로도 저장해 보았습니다. 그랬더니, 신기한 일이.... 바로 아래에 소개하겠습니다.

----------------------------------------------------------------------------------------------

[팁:16] 엑셀파일(xls)로 저장하기

차례
1. 텍스트 파일을 xls로 저장
2. 프로그램에서 생성해보기

엑셀에서는 텍스트 형식의 파일도 곧잘 불러오는데요, csv 확장자로 저장된 텍스트 파일도 많이 이용하는 방법 중의 하나입니다. 또 유용한 방법은 텍스트 형식의 파일의 확장자를 xls로 바꾸기만 해도 엑셀에서 읽어온다는 것을 뒤늦게 알아차렸습니다.

1. 텍스트 파일을 xls로 저장
텍스트 파일을 그대로 xls로 저장하면 한 행 전체가 A 셀에 모두 들어가 버립니다. 그리고 줄바꿈된 것은 엑셀에서도 아래의 행으로 나누어집니다. 이런 시행착오는 생략하고, 그림 1과 같이 메모장으로 데이터를 입력한 후에, 열을 구분하고자 하는 곳에는 탭(Tab) 문자를 넣어주세요.

그림 1. 텍스트 형식의 데이터 파일

이렇게 저장된 텍스트 파일을 윈도 탐색기에서 Noname.xls 파일로 확장자를 변경해보십시오. 원본 파일은 그대로 두고, 사본을 복사해서 하는 것이 좋겠습니다. 그랬더니, 그림 2와 같이 확장자를 바꾸었더니 엑셀 아이콘으로 표시되는군요.

그림 2. txt 파일을 xls로 그대로 복사

그림 3에는 이 Noname.xls 파일을 엑셀에서 불러온 화면입니다.

그림 3. 엑셀에서 불러온 Noname.xls 파일

이렇게 텍스트 형식으로 되었지만 확장자는 xls인 파일을 어떻게 부르나요?
조사해보지는 못했는데요, 그냥 여기서는 "텍스트 엑셀 파일"이라고 부르겠습니다.

2. 프로그램에서 생성해보기
텍스트 엑셀 파일을 프로그램으로 생성해 보도록 하겠습니다. 간단히 하기 위해 콘솔용 프로그램으로 만들었습니다. 탭 문자를 넣기 위해 '\t' 문자를 썼습니다. 그림 4에 소스 프로그램을 보였습니다.

그림 4. 텍스트 엑셀 파일을 프로그램으로 만들기
(소스코드 이미지를 클릭하면 소스 텍스트 창이 나타난다는 거 아시죠?)

그림 5와 그림 6에는 그림 4의 GenXLSTest 프로그램에 의해 생성된 xlstest.xls  파일을 메모장과 엑셀로 각각 열어본 화면입니다.

 

그림 5. 메모장으로 xlxtest.xls 열기

 

그림 6. 엑셀로 xlxtest.xls 열기

 

간단한 내용을 너무 부풀렸나 봅니다. 쉽게 전달하려니까 그림까지 넣게 되고, 그래서 내용은 길어지네요.
오늘의 내용을 간단히 한 줄로만 얘기하면

각 항목을 탭(Tab)과 줄바꿈(엔터, New Line) 문자로 구분한 텍스트 형식의 파일을 xls 확장자로 바꾸면 텍스트 엑셀 파일이 된다.

이렇게 얘기할 수 있겠습니다. (전 엔터를 치지 않았는데, 두줄로 보이시나요? ㅎㅎ)
텍스트 엑셀파일 역시 썩 괜찮아 보이지는 않군요. 역시 이미 형식을 갖추어놓은 엑셀 파일에다가 데이터를 써 넣는 것이 최고의 엑셀 출력이 되겠군요. 이 방법도 유용하게 사용하고 있는데요, 강좌 만들 시간이 부족하네요. 많은 격려 바랍니다.

2007년 3월 29일
극동테크(www.kdtechno.com) 허창원

팁문서 작성 소요시간: 1시간 25분


송성희

2007.03.30 12:30:47
*.38.189.9

----이미 형식을 갖추어놓은 엑셀 파일에다가 데이터를 써 넣는 것이 최고의 엑셀 출력이 되겠군요.
이 방법은 어떤 방법인지? 이미 만들어진 형식에 다시 써 보았는데, 이미 만들어지 포맷? 이 지워지고 데이타만 써 지네요..ㅡ.ㅡ;;;

박재성

2007.04.03 08:40:58
*.97.115.84

엑셀로 미리 포멧을 만드셨다면 각 데이타가 들어갈 행과 열에 맞도록 데이타를 위치시켜야 합니다. 포멧이 지워지는건 위치를 지정하지 않아서 그런것 같습니다. 그리고 이처럼 원본 형식을 가진 파일을 미리 만들어 두고, 새로운 데이타를 저장할 경우는 원본 파일을 복사하여 쓰도록 하는게 좋을 것 같습니다.

송성희

2007.04.05 19:45:46
*.38.189.9

박재성님의 답변 감사합니다.
하지만 아직도 모르겠습니다. 말로 표현하신걸 어떻게 코딩해라고 하는지?
구체적인 샘플소스나? 코딩? 좀 보내주시길^^;;
asquall@nate.com

허창원

2007.04.06 11:09:37
*.19.44.172

오늘 엑셀로 출력하는 강좌를 준비하고 있습니다. 오늘이나 내일 올리겠습니다. 2007.4.6(금) 11:09
List of Articles
번호 제목 글쓴이 날짜 조회 수
96 [강좌:37] 테이블 셀로 파일을 드래그앤드롭하기 file [1] 허창원 2007-09-01 29829
95 [강좌:36] 테이블 셀에서 체크박스 기능 이용하기 file 허창원 2007-09-01 21092
94 [팁:17] 사용가능한 Com Port 찾기 file 허창원 2007-08-18 30816
93 [강좌:35] 엑셀(Excel) 파일에 출력하기(양식 유지한채로) [6] 허창원 2007-04-08 52099
» [팁:16] 엑셀파일(xls)로 저장하기 [4] 허창원 2007-03-29 34519
91 [에러 최소화 습관 팁] 아직 나타내지 않은 Panel의 Control 값을 Set할 때 [1] 허창원 2006-11-25 26761
90 [팁:15] 엑셀에서 지원하는 파일(csv) 생성하기 [1] 허창원 2006-11-23 28922
89 [강좌:34] CVI의 최소화 기능 개선 [3] 허창원 2006-11-18 24287
88 [요약] [강좌:34] CVI의 최소화 기능 개선 허창원 2006-11-18 25896
87 [강좌:33] 컨트롤 배열 처리하기 [5] 허창원 2006-09-28 37563
86 [강좌:32] 시리얼포트의 콜백함수를 만들어 이용하기 [2] 허창원 2006-08-25 33894
85 [강좌:31] 한글 IME, 위치로~~(강력추천) 허창원 2006-06-30 17792
84 [요약] [강좌:31] 한글 IME, 위치로~~(강력추천) [2] 허창원 2006-06-30 19811
83 [강좌:30] Panel을 마우스로 드래그하기(강좌29 업그레이드 버전) file 허창원 2006-06-29 12896
82 [요약] [강좌:30] Panel을 마우스로 드래그하기(강좌29 업그레이드 버전) 허창원 2006-06-29 15022
81 [강좌:29] 타이틀바 없는 Panel을 마우스로 드래그하기 [2] 허창원 2006-06-03 16932
80 [요약] [강좌:29] 타이틀바 없는 Panel을 마우스로 드래그하기 허창원 2006-06-03 15992
79 [팁:14] 프로그램 제거 단축아이콘 넣기(1차수정) [4] 허창원 2006-04-26 15297
78 [메모] 강좌의 종류를 분류해봅니다 [5] 허창원 2006-03-30 21274
77 [팁:13] 디버그 종료시에 뜨는 메시지 A non-debuggable thread... 방지 file [2] 허창원 2005-12-21 26576