使用OleDB - string数据类型导入CSV文件
本文关键字:导入 CSV 文件 数据类型 string OleDB 使用 | 更新日期: 2023-09-27 17:50:43
我正在编写一个c# .net web应用程序,用户将上传要处理的CSV文件。这些CSV文件包含许多数据类型,其中一些我遇到了问题。有一个20位的收据号字段将以科学记数法导入(9.1234563E+18而不是91234563000000000000),并且任何前导零都将被删除。在另一个4位数的存储编号字段中也会删除前导零。
我读过关于创建Schema.ini文件来定义数据类型的文章,但是每个文件都有不同的文件名,这意味着我必须以编程的方式生成一个新的Schema文件,而且由于多个用户可能同时使用该应用程序,这就排除了这个选项。
有人有什么建议吗?
这个CSV文件是在Excel中创建的吗?如果是,请确保用户将列设置为正确的数据类型。我以前有过类似的问题,但这是由于用户有一个日期字段设置为不同的类型-所以不是得到像20100408这样的东西,我会得到像24782:-)
否则,尝试在每个字段中读取直接文本....然后自己处理转换
听起来您将不得不编写一些自定义代码来手动读取文件并自己拆分字段。您可以轻松地一次读取一行并使用String。方法获取单个字段。当然,这是假设CSV文件总是采用相同的格式,这样无论文件来自何处,您都可以以相同的方式处理每个字段。这样,您就可以完全按照您想要的方式处理每个字段。