C#学习教程:在C#中使用OleDb解析CSV我需要解析一个csv。这是一个非常通用的CSV和解析逻辑,由另一位使用OleDB的开发人员编写,他发誓在他去度假之前它工作:)CSV示例:调度日期、主磁带、主时间代码、材料ID、通道、标题、版本、持续时间、语言,Producer,EditDate,Packaging,1stTX,LastTX,Usage,S&PRating,Comments,Replace,EventTXDate,AlternateTitle,a,b,c,d,e,f,g,h,,i,,j,k,,l,m,,n,我遇到的问题是,根据我尝试的连接字符串,我遇到了各种错误。当我尝试连接字符串时:Provider=Microsoft.Jet.OLEDB.4.0;DataSource="D:TEST.csv";ExtendedProperties="text;HDR=No;FMT=Delimited"我收到错误消息:'D:TEST.csv'不是有效路径。确保路径名拼写正确并且您已连接到文件所在的服务器。当我尝试连接字符串时:Provider=Microsoft.ACE.OLEDB。12.0;数据源=D:TEST.csv;扩展属性=Excel12.0;或连接字符串Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:TEST.csv;ExtendedProperties=Excel8.0;我得到错误:外部表不是预期的格式。我正在考虑丢弃所有代码并从头开始。有什么明显的我做错了吗?您应该只在连接字符串中指定目录名称。文件名将在查询中使用:varfilename=@"c:worktest.csv";varconnString=string.Format(@"Provider=Microsoft.Jet.OleDb.4.0;DataSource={0};ExtendedProperties=""Text;HDR=YES;FMT=Delimited"",Path.GetDirectoryName(文件名));使用(varconn=newOleDbConnection(connString)){conn.Open();varquery="SELECT*FROM["+路径。GetFileName(文件名)+"]";使用(varadapter=newOleDbDataAdapter(query,conn)){vards=newDataSet("CSV文件");适配器.填充(ds);你可以使用一个像样的CSV解析器(或另一个)代替OleDB。您的第一行似乎包含列名,因此您需要包含HDR=YES属性,如下所示:Provider=Microsoft.ACE.OLEDB.12.0;DataSource=D:TEST.csv;ExtendedProperties="Excel12.0;HDR=是”;尝试连接字符串:"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:TEST.csv;ExtendedProperties="Excel8.0;IMEX=1""vars=@"D:TEST.csv";stringdir=Path.GetDirectoryName(s);字符串sConnection="Provider=Microsoft.Jet.OLEDB.4.0;"+"数据源=""+dir+"\";"+“扩展属性=”文本;HDR=YES;FMT=Delimited””;替代解决方案http://msdn.microsoft.com/en-us/library/x710fk43(v=VS.100).aspx因此您不必依赖其他开发人员。我已经用了好几次了,没有任何问题。以上就是C#学习教程:使用C#使用OleDb解析CSV分享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
