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()을 사용해서 각 항목을 ","로 나누어 주면 된다.


결과




반응형