반응형

* C# Listview 조회 데이터 CSV 파일로 저장 하기 예제...

 

Main

 

-사용한 컨트롤: Button 1개, Listview 1개

 

전체 소스 코드

Form1.cs

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CSharp_Listview_CSV
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();


            for (int iCount = 0; iCount < 10; iCount++)
            {
                ListViewItem lvi = new ListViewItem();
                lvi.Text = (iCount + 1).ToString();
                lvi.SubItems.Add("Col1");
                lvi.SubItems.Add("Col2");
                lvi.SubItems.Add("Col3");
                lvi.SubItems.Add("Col4");

                listView1.Items.Add(lvi);

            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //CSV File Save

            SaveFileDialog sfd = new SaveFileDialog();

            sfd.Filter = "CSV File(*.csv) | *.csv";

            if (sfd.ShowDialog() == DialogResult.OK)
            {
                System.IO.StreamWriter sw = new System.IO.StreamWriter(sfd.FileName, false, Encoding.GetEncoding(949));

                //데이터    
                for (int i = 0; i < listView1.Items .Count; i++)
                {
                    string strTmp = "";
                    strTmp += listView1.Items[i].SubItems[0].Text + "," +
                              listView1.Items[i].SubItems[1].Text + "," +
                              listView1.Items[i].SubItems[2].Text + "," +
                              listView1.Items[i].SubItems[3].Text + "," +
                              listView1.Items[i].SubItems[4].Text;

                    sw.Write(strTmp + "\r\n");
                    
                }

                sw.Flush();
                sw.Close();

				MessageBox.Show("CSV 파일로 저장이 완료 되었습니다.");
            }

            
        }
    }
}

 

 

*예제 결과

 

 

 

반응형

+ Recent posts