CSV ファイルのデータをデータグリッドビューにインポートするサンプルコードになります。本サンプルでは、CSV ファイルの読み込みに Microsoft.VisualBasic.FileIO.TextFieldParser クラスを使用しているので C# で使用する場合には、参照の追加で Microsoft.VisualVasic を組み込む必要があります。
スポンサーリンク
また、データグリッドビューには事前に列を1つ以上追加していないと以下のエラーが発生しますので、列の追加も行う必要があります。
列を含んでいない DataGridView コントロールに行を追加することはできません。列を最初に追加してください。
VB.NET
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
C#
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); } } } }
C# の場合、Microsoft.VisualBasic の参照を追加していない場合には以下のエラーが出ます。
型または名前空間名 ‘FileIO’ は名前空間 ‘Microsoft.VisualBasic’ に存在しません。
アセンブリ参照が不足しています。
参考