화면에 입력받은 내용을 CSV로 출력하는 간단한 예제입니다.

화면 구성은 다음과같이 해보았습니다.

그리드의 옵션은 다음과 같습니다.

추가, 변경, 삭제 를 허용합니다.


소스는 따로 첨부하겠습니다.

전체적으로 간단한 내용입니다만, 세부적인 설정은 소스를 참고해주세요.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
        private void button1_Click(object sender, EventArgs e)
        {
            using (StreamWriter writer = new StreamWriter(@"D:\test.csv"falseEncoding.GetEncoding("shift_jis")))
            {
                int rowCount = dataGridView1.Rows.Count;
 
                if (dataGridView1.AllowUserToAddRows == true)
                {
                    rowCount = rowCount - 1;
                }
 
                // 行
                for (int i = 0; i < rowCount; i++)
                {
                    // 리스트 초기화
                    List<string> strList = new List<string>();
 
                    // 列
                    for (int j = 0; j < dataGridView1.Columns.Count; j++)
                    {
                        strList.Add(dataGridView1[j, i].Value.ToString());
                    }
                    String[] strArray = strList.ToArray(); // 배열로 변환
 
                    // CSV 형식으로 변환
                    String strCsvData = String.Join(",", strArray);
                    writer.WriteLine(strCsvData);
                }
 
                MessageBox.Show("저장완료 ");
                writer.Close();
            }
 
        }
cs


초기 실행화면은 아래와 같습니다.


세 줄의 데이터를 입력하고 출력을 해보겠습니다.

개념을 설명하기위한 간단한 샘플이기에, Export 경로는 버튼클릭 이벤트에서 하드코드로 작성하였습니다.

[CSV Export] 버튼을 눌러보겠습니다.

가 메세지박스로 표시되었습니다.


출력된 CSV를 확인해보겠습니다.

화면에 입력된대로 출력된것을 확인할수 있습니다.


전체소스는 아래에서 다운받을수 있습니다.

DataGridCsvExport.zip


+ Recent posts