OleDB读取CSV文件的字符格式问题
在使用OleDB读取完CSV文件生成的DataSet中,有一些列的内容被改变。
有列A,在CSV中该列的值有:F5;F7;aaa;bbb;等等。
但在生成的DataSet中,这些值就变成:5;7;null;null;等等。(含有数字的字符串被转成数值,纯字符组成的字符串被转成null)
我在调试的过程中发现,这一列的object类型为decimal。 而且其他列没有问题。
最后,找到一个解决办法,就是把单元格格式设置为"Text",默认为"Number"。
想请教一下:
1、为什么CSV用Excel打开后,单元格格式默认会是"Number"。这和文件本身的或者打开时候选择的编码方式是否有关系?
2、为什么所有单元格都是"Number"类型,而只有这一列会转为decimal格式,是因为"F5"这类的值有什么特定含义会被转译吗?(我在测试过程中,把该列的内容"F5";"F7"改为"M5";"M7"后,生成的DataSet正常。)
希望遇到过这类问题的朋友们分享一下解决方案。有兴趣的朋友们也可以试试。谢谢……。