投稿者 魔界の仮面弁士  (社会人) 投稿日時 2012/11/26 20:20:59
> DataGridViewに表示した後に、DataGridViewの内容をCSVに書き込む

こんな感じでしょうか。

なお、DataTable を DataGridView にバインドしている場合は、
DataGridView のセル内容を列挙するのではなく、
DataTable の中身を取り出すようにした方が良いでしょう。

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Dim dstFile As String = "C:\temp\2.csv"
    Dim sjis As Encoding = Encoding.GetEncoding("Shift_JIS")

    Using stm As New StreamWriter(dstFile, False, sjis)
        'ヘッダ行の書き込み 
        Dim header = From col In DataGridView1.Columns.Cast(Of DataGridViewColumn)() _
          Select col.HeaderText
        stm.WriteLine(String.Join(",", header))

        'データ行の書き込み 
        For Each row In From r In DataGridView1.Rows.Cast(Of DataGridViewRow)() _
          Where Not r.IsNewRow
            Dim contents = From cell In row.Cells.Cast(Of DataGridViewCell)() Select cell.Value
            stm.WriteLine(String.Join(",", contents))
        Next

        stm.Close()
    End Using
End Sub