Bagaimana cara export DataGridView ke CSV file di C#

Ada kalanya kita ingin menyimpan data hasil pengukuran atau data lainnya ke dalam file format CSV (comma separated value). Namun bagaimana jika data ini sebelumnya tersaji pada DataGridView?. Sesuai namanya CSV merupakan sebuah data yang di pisahkan oleh tanda koma. Misalnya : 1,Dedi,Batam. 

1. Pada menu file pilih New Project.



2. Pada window Visual Studio installed template pilih Windows Form Application.

3. Kemudian isikan Name sesuai keinginan. (ex : ExportDatagridToCSV)

4. Kemudian pada menu File klik Save All untuk menyimpan semua project yang sedang 
    kita kerjakan.

5. Isikan project Name, dan pada Location tentukan Lokasi folder tempat project akan 
    disimpan dengan mengklik Browse, Isikan juga Solution Name
    Untuk Solution terdapat check box sebagai pilihan untuk kita yang artinya kita dapat 
    membuat sebuah solution untuk project – project kita. Solution biasanya digunakan saat 
    kita membuat program dengan banyak project dalam satu solution. Jika kita hanya 
    membuat satu project saja check box Create directory for solution bisa kita abaikan 
    (uncheck) .


6. Kemudian klik Save.

7. Kemudian rancang lah Form sesuai keinginan.
    (Sebagai contoh dapat dilihat pada gambaran berikut).


8. Untuk menambahkan column caranya, klik kanan pada dataGridView1
    pilih Edit column.



9. Pada window Edit column klik tombol Add.

10. Isikan Name (ex : tetap column1), Pada type pilih DataGridViewTextBoxColumn
      Isikan No.  pada Header text. Ulangin langkah ini untuk Name, dan Address.  

11. Setelah rancangan Form sudah selesai, kita lanjut untuk coding. Klik kanan di Form1
      kemudian pilih View Code atau bisa langsung dengan tekan F7.

12. Isikan program berikut.

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;
using System.IO;

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

        }

        private void BtnExport_Click(object sender, EventArgs e)
        {
            //writeCSV(dataGridView1, (Application.StartupPath + string.Format(@"\\{0}.csv", workingThread.AktLotNr)));
            writeCSV(dataGridView1, (Application.StartupPath + string.Format(@"\\DatagridView1-Data.csv")));
        }

        public void writeCSV(DataGridView gridIn, string outputFile)
        {
            if (gridIn.RowCount > 0)
            {
                string value = "";
                DataGridViewRow dr = new DataGridViewRow();
                StreamWriter sw = new StreamWriter(outputFile);

                //write header rows to csv
                for (int i = 0; i <= gridIn.Columns.Count - 1; i++)
                {
                    if (i > 0)
                    {
                        sw.Write(",");
                    }
                    sw.Write(gridIn.Columns[i].HeaderText);
                }

                sw.WriteLine();

                //write DataGridView rows to csv
                for (int j = 0; j <= gridIn.Rows.Count - 1; j++)
                {
                    if (j > 0)
                    {
                        sw.WriteLine();
                    }

                    dr = gridIn.Rows[j];

                    for (int i = 0; i <= gridIn.Columns.Count - 1; i++)
                    {
                        if (i > 0)
                        {
                            sw.Write(",");
                        }
                        try
                        {
                            value = dr.Cells[i].Value.ToString();
                            //replace comma's with spaces
                            value = value.Replace(',', ' ');
                            //replace embedded newlines with spaces
                            value = value.Replace(Environment.NewLine, " ");

                            sw.Write(value);
                        }
                        catch
                        {
                            if (value == null) { break; }
                        }
                    }
                }
                sw.Flush();
                sw.Close();
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}


13. Jangan lupa untuk menambahkan class system using System.IO. 
      Artinya menyertakan Class System.IO kedalam program. 

14. Pilih Run atau tekan F5 untuk menjalankan Program.




15. Klik tombol Export to CSV Jika berhasil tanpa ada error, maka akan tampil pop up message seperti berikut.


16. Lokasi penyimpanan File CSV bisa dilihat di lokasi Folder project 
      ...\bin\Debug\DatagridView1-Data.csv

Share this

All sharing is only for you guys...
-----------------------------------
Previous
« Prev Post

1 comments:

comments
26 August 2016 at 11:24 delete

mantap gan
sangat bermanfaat ilmunya.. :D

Reply
avatar