vb.net csv转成datatable,字串超过255被切割掉

我利用此方式导入csv成datatable
图片说明

有一个问题
如果我将超过255的字串放在csv的前几行,可以顺利导入
我用过excel,是前8行,可以来决定栏位的格式

下方的左图为,我放这个字串到4百多行,后面的被切了

右边的为放在第二行,可以完整的把超过255字串的字串成功载出

图片说明

请问可以优化这个转换的代码,还是有其他的决解方式呢?

1个回答

记事本打开csv看下,超长的行是不是有多余的回车。
如果没有,用 FileReadAllLines(文件名)的方式读取,split下

caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复weixin_40187983: 那你怎么区分的不同栏的数据,你的数据里如果有逗号,那么需要用引号包裹起来整个栏的数据,然后你又有引号,引号需要转义
10 个月之前 回复
weixin_40187983
weixin_40187983 这样3个串在一起的是一个栏位的内容,如果用split(s,",")切的话,我这个栏位就被拆分成3个了!
10 个月之前 回复
weixin_40187983
weixin_40187983 [ObjectId("5acb382b4966b461e69b4644"), ObjectId("5af04c114966b46a9caea6b9"), ObjectId("5ac9733b4966b43fdea8f05f")]
10 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复weixin_40187983: For Each s As String in System.IO.File.ReadAllLines("1.csv")循环里s就是一行,再用Split(s, ",")(n)得到每一列
10 个月之前 回复
weixin_40187983
weixin_40187983 我想到的是,有没有办法在 OleDbDataAdapter(String.Format("select * from [{0}.csv]", Name), con) 这边,设定某一栏位为Memo格式,而不是varchar(255)
10 个月之前 回复
weixin_40187983
weixin_40187983 我看了超长的没有回车, FileReadAllLines要怎么使用,请你写一下。因为我这个csv 内容也有很多的',',所以可能会切不好
10 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问