大佬教程收集整理的这篇文章主要介绍了OLEDB将CSV导入VB.NET数据表读取’ – ‘为0,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在读取CSV文件和转换为VB.Net中的数据表时遇到问题.
如果CSV文件包含一个完整的“ – ”列,则在导入数据表时它们显示为“0”,整个列的格式为数字格式.
我写的代码是:
Public Function LoadCsvFile(filePath As String) As DataTable Try DTReadCSV = New DataTable Dim connection As System.Data.oleDb.oleDbConnection = New System.Data.oleDb.oleDbConnection("Provider=Microsoft.ACE.oLEDB.12.0;Data source=" & Microsoft.VisualBasic.Left(filePath,instrRev(filePath,"\")) & ";Extended Properties=""text;HDR=Yes;FMT=Delimited""") Dim adapter As New OleDb.oleDbDataAdapter("SELECT * FROM [" + Microsoft.VisualBasic.Mid(filePath,"\") + 1) + "]",connection) 'Dim table As New DataTable() adapter.Fill(DTReadCSV) 'now thats its nicely in a datatable IntamountRows = DTReadCSV.Rows.Count Intamountcolumns = DTReadCSV.columns.Count 'System.Diagnostics.Debug.Print(DTReadCSV.Rows.Item(1)(1).ToString) Return DTReadCSV Exit Function Catch ex As Exception MsgBox(ex.ToString()) MsgBox(Err.number & " " & chr(13) & Err.Description) End Try End Function
除了修改CSV文件之外,还有人可以更聪明地弄清楚如何解决这个问题,将“ – ”作为空白取出,目前这似乎是导入这些CSV文件的唯一漫长的方式.
非常感谢
在同一文件夹中创建scheR_217_11845@a.ini文件;它可以有多个部分来定义该文件夹中的各种CSV.如果在与CSV相同的文件夹中存在scheR_217_11845@a.INI并且它具有CSV条目,则OleDB将自动使用它(没有什么特别的事情可做).
上述数据的scheR_217_11845@a.INI条目可能如下所示:
OleDb将在读取该文件时使用这些定义,从而在输出中为“假”列生成一串破折号:
使用scheR_217_11845@a.INI的另一个好处(众多)是你可以在那里命名列,而不是使用或别名F1,F2,F3等.该输出的SQL只是“SELECT * FROM Capitals.CSV”
提示(对于其他人来说):要将uTF8指定为字符集,请在架构中使用CharacterSet = 65001.
有关更多信息,请参阅
– Schema.ini Text File Driver
– Code Page Identifiers
以上是大佬教程为你收集整理的OLEDB将CSV导入VB.NET数据表读取’ – ‘为0全部内容,希望文章能够帮你解决OLEDB将CSV导入VB.NET数据表读取’ – ‘为0所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。