例子:
private void btncsv_ButtonClick(object sender, EventArgs e)
        {
            if (dataGridView1.Rows.Count <= 0)
            {
                return;
            }
            saveFileDialog1.Title = "CSV出力";            saveFileDialog1.DefaultExt = ".csv";
            //saveFileDialog1.InitialDirectory = @"c:\";
            saveFileDialog1.RestoreDirectory = false;            saveFileDialog1.FileName = "";
            saveFileDialog1.FileOk += new CancelEventHandler(this.saveFileDialog1_FileOk);
            saveFileDialog1.Filter = "CSVファイル(*.CSV)|*.CSV|所有文件(*.*)|*.*";
            saveFileDialog1.ShowDialog(this);
        }        #region saveFileDialog_fileok
        private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            string path = saveFileDialog1.FileName;
            try
            {
                if (path != "")
                {
                    StreamWriter strmCsv = new StreamWriter(path, true, System.Text.Encoding.GetEncoding("shift-jis"));
                    strmCsv.WriteLine("ID,銀行区分,銀行コード,銀行名(漢字),(カナ),支店コード,支店名(漢字),(カナ),口座種別,口座番号,口座名義人(漢字),(カナ),出力フォーマット,表示順");
                    for (int i = 0; i < dtdata.Rows.Count; i++)
                    {
                        string displayData = dtdata.Rows[i]["sysbankinfo_id"]
                            + "," + dtdata.Rows[i]["banktype"]
                            + "," + dtdata.Rows[i]["bankcode"]
                            + "," + dtdata.Rows[i]["bankcname"]
                            + "," + dtdata.Rows[i]["bankaname"]
                            + "," + dtdata.Rows[i]["cbankcode"]
                            + "," + dtdata.Rows[i]["cbankcname"]
                            + "," + dtdata.Rows[i]["cbankaname"]
                            + "," + dtdata.Rows[i]["accounttype"]
                            + "," + dtdata.Rows[i]["accountno"]
                            + "," + dtdata.Rows[i]["accountcname"]
                            + "," + dtdata.Rows[i]["accountaname"]
                            + "," + dtdata.Rows[i]["outtype"]
                            + "," + dtdata.Rows[i]["orderby"];
                        strmCsv.WriteLine(displayData);
                    }
                    strmCsv.Close();
                }
            }
            catch (IOException ev)
            {
                MessageBox.Show(this, ev.Message);
                return;
            }
            finally
            {
                saveFileDialog1.FileName = "";
                path = "";
            }
        }