~環境~
Microsoft Visual Studio Professional 2017 Version 15.9.17
.NET Framework 4.6.1
開発の参考にしたコード:
https://dobon.net/vb/dotnet/file/readcsvfile.html
--
vb.netでコンソールアプリケーションの開発を行ってます。
csvファイルの中身をdatabaseに書き込むため、以下のコードを用いていったんdatatable上に読み込んでいるのですが、
特定の値がnullで読み込まれてしまいます。
以下のcsvとすると、4行目の「通信費」の税額カラムがnullとなってしまいます。
おそらく、1行目を読み込んだ段階で、税額カラムを「数値型」として判定し、
その後に「文字列」が入ってくるのでnullになっているんだと思います。
インプットとなるcsvの形式は業務フロー上変更はできないため、
プログラム側でなんとかするしかないのですが、案をご教示頂けないでしょうあ。
★インプットcsv↓
科目名称,金額,税額
雑費,"7,273",727
雑費,"5,455",545
通信費,"11,505","1,150"
雑費,"6,903",690
vb.net
1 'CSVファイルのあるフォルダ 2 Dim csvDir As String = "C:\Users\hogehoge\Desktop" & "\" 3 'CSVファイルの名前 4 Dim csvFileName As String = "filename.csv" 5 6 '接続文字列 7 Dim conString As String 8 conString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " + csvDir + "; Extended Properties=""text; HDR=Yes; FMT=Delimited""" 9 Dim con As New System.Data.OleDb.OleDbConnection(conString) 10 11 Dim commText As String = "SELECT * FROM [" + csvFileName + "]" 12 Dim da As New System.Data.OleDb.OleDbDataAdapter(commText, con) 13 14 'DataTableに格納する 15 Dim dt As New DataTable 16 da.Fill(dt)
回答1件
あなたの回答
tips
プレビュー