C#学习教程:使用MicrosoftJetOLEDB对CSV的列限制这个CSV导入是固定的,我完全无法控制它。如果我尝试在Excel2003中打开CSV,由于列限制为255(IV),它只能部分加载。当我使用OleDb和Microsoft.Jet.OLEDB.4.0将CSV加载到DataSet时,它也只显示255列。更糟糕的是,当尝试访问这255列中的某些列的数据时,它会显示不正确的数据并不断拆分值。如果我在Excel中打开CSV,让它截断数据并重新保存,我的导入工作正常。我的问题是,有没有其他人遇到过Jet.OLEDB提供程序的这种限制。如果是,是否有解决该问题的方法?如果没有,是否有替代解决方案可用于加载如此大的CSV?注意:这不是一次性任务,我需要为最终用户提供一个浏览/上传按钮,以便在需要时执行此导入。我们使用http://www.codeproject.com/KB/database/CsvReader.aspx取得了很大的成功。您可以浏览此代码,使用ExcelDataReader并在您的项目中添加引用。并使用下面的代码...FileStreamstream=File.Open(strFileName,FileMode.Open,FileAccess.Read);IExcelDataReaderexcelReader=ExcelReaderFactory.CreateOpenXmlReader(stream);数据集结果=excelReader.AsDataSet();excelReader.Close();返回结果.Tables[0];我建议以面向对象的方式进行。尝试使用文件助手库。http://www.wenhelpers.com/。它允许您为文件中的每一行都有一个对象表示。然后你可以将这个对象持久化到数据库中。将schema.ini文件放在与CSV文件相同的文件夹中。完整的语法请参考这里。以上就是C#学习教程:使用MicrosoftJetOLEDB将CSV限制为分享的全部内容。网络收藏不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
