ETC/C#

[C#] CSV 파일 만들기(string.Join 함수)

쪽제비 2016. 12. 20. 12:38

CSV 파일을 만들어야 한다.

내가 원하는 기능은 

1. 한줄씩 파일에 입력하는 것.

2. listbox에 있는 데이터를 csv에 입력하는 것.

3. chart에 있는 y축 값을 차례대로 csv에 입력하는 것.


우선 코드를 다 붙여놓고 설명을 해보자.





우선 SaveFileDialog로 파일 저장 위치및 이름 지정.


그다음부터 내가 원하는 기능 설명.


1. 한줄씩 파일에 입력.

파일 저장경로를 지정했으면 FileStream을 Append모드로 생성한다.

StreamWriter 를 filestream을 지정하여 생성한다.


함수가 끝날 쯔음에 StreamWriter 부터 Close해주고, FileStream을 Close 해준다.

 - 생성과 반대로 해제.


2. listBox에 있는 데이터를 csv 에 입력.

이건 생각보다 매우 간단한다.

string.Join 함수를 사용하면 한방에 끝난다.

string.Join( 나눌 문자, 리스트박스 items)


간단하다

listbox items를 그냥 넣으면 리스트 박스 설명만 한줄 나온다.

여기서 Cast<object>() 함수를 써주면 각 아이템들을 리스트화해주기때문에

각 아이템을 ","로 나눈 문자열을 만들어 준다.

만들어주고나서 StreamWriter를 사용해서 파일에 써주면 끝.


3. chart에 있는 y축 값을 차례대로 csv에 입력하는 것.

이건.. 조금 고민을 해봤는데 한방에는 어렵고 List<double>로 바꾸어 준 다음에 넣으면 된다.

반복문을이용해서 list에 넣어준다음 리스트박스 적용한 것처럼 string.join()을 사용해서 각 항목을 ","로 나누어 주면 된다.


결과