Visual Studio 윈도우 폼에서 CSV 파일을 DataTable로 가져오는 내용의 글을 올려보겠습니다.

우선 Visual Studio 프로그램 실행 후 위쪽 메뉴의 "파일" -> "새로 만들기" -> "프로젝트" 를 선택(클릭)합니다.

왼쪽 Visual 템플릿에서 "Visual C#" -> "Windows" -> "Windows Forms 응용 프로그램" 을 선택한 후에 아래쪽에 프로젝트 "이름", "위치" 를 지정하고 오른쪽 아래에 있는 "확인" 단추를 선택(클릭) 합니다.

그러면 기본 Form1이 만들어 지고 응용 프로그램을 만들 준비가 되었습니다.
도구상자에서 OpenFileDialog 를 Form1.cs[디자인] 화면 아무데나 마우스를 드레그하여 놓습니다.

그러면 아래 그림과 같이 Form1 아래쪽에 OpenFileDialog1이 추가된 것을 볼 수 있습니다.

OpenFileDialog1 은 파일을 열때 사용하는 도구이지만 Form 화면에 나타나지 않습니다.
이를 실행시키기 위해서는 버튼 등 화면에 보이는 도구가 필요합니다.

OpenFileDialog1 을 실행시키기 위한 Button을 Form1.cs[디자인] 화면 아무데나 마우스를 드레그하여 놓습니다.

그러면 아래 그림과 같이 Form1 안쪽에 Button1이 추가된 것을 볼 수 있습니다.

Button1 의 속성을 확인하고 Text를 "불러오기"로 변경합니다.

"불러오기" Button1을 마우스 더블클릭하면 다음 그림과 같이 클릭 시 실행될 코드를 입력할 공간이 나타납니다(Button1_Click)

다시 Form1.cs[디자인] 화면으로 돌아옵니다.

이번에는 OpenFileDialog1의 속성 내용을 수정하기 위해 Form1 아래쪽에 있는 OpenFileDialog1 을 클릭합니다.
속성에서 아래 내용대로 수정합니다.
첫번째 그림 Filter 속성은 CSV파일만 보이게 하기 위해 필터링 옵션을 추가합니다.

두번째, 세번째 그림은 OpenFileDialog 가 열릴때 기본으로 출력될 파일 이름입니다. 선택하기 전에는 아무 이름도 없는게 맞기 때문에 기본 입력된 값을 지웁니다.

네번째 그림은 OpenFileDialog 창이 열릴 때 왼쪽 상단에 뜨는 Title 입니다. 기능보다는 보여지는 화면이기 때문에 테스트할 때에는 굳이 안 바꿔도 상관없습니다.

Form1.cs 코드파일로 이동합니다,(Form1.cs[디자인] 화면에서 키보드 "F7" 단추를 선택(클릭)하면 코드파일로 이동합니다.)
버튼 클릭할때의 코드를 다음과 같이 입력합니다.

CSV파일을 DataTable 파일로 변환해 주는 매서드를 아래와 같이 추가합니다.

그리고 테스트를 위해ㅓ DataTable이 완성된 다음줄에 중단점을 걸어 줍니다.
(34줄 바로 옆에 흰 부분을 마우스로 선택(클릭)하면 아래 그림과 같이 빨간색 원이 나타나 중단점이 설정됩니다.)

이제 테스트를 끝낼 준비가 완료되었습니다.

상단 메뉴에서 "디버그" -> "디버깅 시작" 단추를 선택합니다.

디버깅이 시작되고 Form1이 실행되었습니다.

불러오기 단추를 선택(클릭)합니다.

엑셀 파일을 불러올 OpenFileDialog1이 실행되었습니다.

CSV파일 하나를 선택하고 열기 단추를 선택(클릭) 합니다.

그러면 아래 화면과 같이 중단점에서 코드가 중단된 것을 확인할 수 있습니다.

DataTable dt1에 CSV파일의 내용이 잘 들어갔는지 확인해보겠습니다.

여러가지 방법이 있지만 dt1부분을 마우스로 선택(클릭) 후 잠시 기다려 주면 아래 그림과 같이 dt1에 대한 세부 내용을 볼 수 있는 창이 나타납니다.
돋보기 그림을 마우스 선택(클릭) 합니다.

그러면 DataSet 시각화 도우미가 나타나며 CSV에 있는 내용 그대로 들어온 것을 확인할 수 있습니다.

이제 CSV에 있는 내용을 DataTable 로 가져와서 프로그래밍 할 수 있습니다.

이전 글이어서 코드가 그림파일입니다.
더욱 쉽게 따라하실 수 있게 영상, 코드, 샘플파일을 포함한 글을 하나 더 작성했습니다.
아래 글을 확인해 주세요.

https://ilbbang.tistory.com/entry/C-Windows-Form-CSV파일을-DataTable로-가져오기-영상코드샘플파일

감사합니다.

+ Recent posts