ここでは、CSV ファイルのデータをデータグリッドビューに反映させるサンプルコードを示す。
なお、CSV ファイルの読み込みには Microsoft.VisualBasic.FileIO.TextFieldParser クラスを使用するので C# で使用する場合には、参照の追加で Microsoft.VisualVasic を組み込む必要がる。
また、データグリッドビューには事前に列を1つ以上追加していないと以下のエラーが発生する。
列を含んでいない DataGridView コントロールに行を追加することはできません。列を最初に追加してください。
Imports Microsoft.VisualBasic.FileIO
Imports System.Text
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim parser As TextFieldParser = New TextFieldParser("E:\test.csv", Encoding.GetEncoding("Shift_JIS"))
parser.TextFieldType = FieldType.Delimited
parser.SetDelimiters(",") ' 区切り文字はコンマ
' データをすべてクリア
DataGridView1.Rows.Clear()
While (Not parser.EndOfData)
Dim row As String() = parser.ReadFields() ' 1行読み込み
' 読み込んだデータ(1行をDataGridViewに表示する)
DataGridView1.Rows.Add(row)
End While
End Sub
End Class
using System.Text;
using Microsoft.VisualBasic.FileIO;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
TextFieldParser parser = new TextFieldParser(@"E:\test.csv", Encoding.GetEncoding("Shift_JIS"));
parser.TextFieldType = FieldType.Delimited;
parser.SetDelimiters(","); // 区切り文字はコンマ
// データをすべてクリア
dataGridView1.Rows.Clear();
while (!parser.EndOfData)
{
string[] row = parser.ReadFields(); // 1行読み込み
// 読み込んだデータ(1行をDataGridViewに表示する)
dataGridView1.Rows.Add(row);
}
}
}
}
上記のようにとても簡単に取り込むことができる。
型または名前空間名 'FileIO' は名前空間 'Microsoft.VisualBasic' に存在しません。
アセンブリ参照が不足しています。