OleDB读取CSV文件的字符格式问题

yoyo_fan_503 yoyo_fan_503 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在使用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正常。)

希望遇到过这类问题的朋友们分享一下解决方案。有兴趣的朋友们也可以试试。谢谢……。
...全文
评论 11
收藏 已收藏
分享
返回顶部
yoyo_fan_503
C# 111,129 成员 642,540 内容