以下のコードを書いてビルドしてみたのですが、CSVファイルが読み込まず、表示されません。
どこがいけないのでしょうか。また何を追加すればいいのでしょうか。
C#
1 OpenFileDialog ofd = new OpenFileDialog(); 2 { 3 4 if(ofd.ShowDialog() == true) 5 { 6 ofd.Filter = "csv ファイル(*.csv)|*.csv"; 7 ofd.Title = "CSVファイルを開く"; 8 9 var sr = new StreamReader(ofd.FileName , Encoding.GetEncoding("SHIFT-JIS")); 10 var csv = new CsvHelper.CsvReader(sr , new System.Globalization.CultureInfo("ja-JP", false)); 11 { 12 csv.Configuration.HasHeaderRecord = true; 13 csv.Configuration.Delimiter = ","; 14 csv.Configuration.IgnoreBlankLines = true; 15 csv.Configuration.DetectColumnCountChanges = true; 16 csv.Configuration.BadDataFound = x => 17 dataGrid.ItemsSource = csv.GetRecords<DataBind>().ToList(); 18 } 19 20 21 } 22 23 } 24 } 25 public class DataBind 26 { 27 28 [Index(0)] 29 public string Title { get; set; } 30 [Index(1)] 31 public string Title_read { get; set; } 32 [Index(2)] 33 public string Price { get; set; } 34 [Index(3)] 35 public string Category { get; set; } 36 [Index(4)] 37 public string Stock_img { get; set; } 38 [Index(5)] 39 public string Sub_img1 { get; set; } 40 [Index(6)] 41 public string Sub_img2 { get; set; } 42 [Index(7)] 43 public string Sub_img3 { get; set; } 44 [Index(8)] 45 public string Sub_img4 { get; set; } 46 [Index(9)] 47 public string Sub_img5 { get; set; } 48 }
XAML
1 <DataGrid Name="dataGrid" AutoGenerateColumns="False" Height="500"> 2 <DataGrid.Columns> 3 <DataGridTextColumn Binding="{Binding Title}" Header="タイトル"/> 4 <DataGridTextColumn Binding="{Binding Price}" Header="価格"/> 5 </DataGrid.Columns> 6 </DataGrid>
Visual Studio2019
ver 16.6.1
.NET Framework
ver 4.8.03752
CSVの内容が書かれていませんでしたので、追記いたします。
※テスト用です。
CSV
1書名,書名よみ,税込価格,在庫カテゴリ,在庫画像,サブ画像1,サブ画像2,サブ画像3,サブ画像4,サブ画像5 2あああaaa,あああaaa,100,1,aaa,bbb,ccc,ddd,eee,fff,ggg 3いいいbbb, ,1000,2,hhh, , , , , , 4. 5. 6.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/05 12:30
2020/06/05 14:17
2020/06/05 15:10
2020/06/05 22:30
2020/06/06 04:47
2020/06/06 10:07
2020/06/07 06:44
2020/06/07 07:52
2020/06/07 10:24
2020/06/07 10:26