通过Microsoft ACE Ole Db读取逗号分隔值(csv)文件时不保留的前导零意味着如果col值为0000123456,我只获得123456,而在vb.net中以编程方式读取。我不想在准备逗号分隔值(csv)文件时输入任何条件,即在零之前使用撇号等。 数据结构如下逗号分隔值(csv)文件
Name,ID
John,0001234
moon,0001235
但是我的身份是1234,1235,但我想用零ACE使用Microsoft ACE Ole Db
请大家好意思。谢谢提前
答案 0 :(得分:1)
OleDb用于读取CSV文件的文本文件驱动程序无法准确确定列的数据类型。在您的情况下,您的第二列被误解为数字列,因为它只包含数字,因此删除了前导零。
你可以给OleDb一个强有力的提示,创建一个名为SCHEMA.INI的文件来解释文件的内容。
在你的情况下你可以在文件的同一个文件夹中创建一个(我假设这个例子有temp.csv)并写下这些行:
[temp.csv]
Format=CSVDelimited
ColNameHeader=True
Col1=Name Text
Col2=ID Text
DecimalSymbol=.
请注意,我需要指定DecimalSymbol是一个点,因为在我的语言环境中,逗号用作数字的小数和整数部分之间的分隔符(因此我们使用以分号分隔的CSV文件)