最近需要用到CSV导入DataTable,但是出现了一些问题,希望大家帮忙。
如果使用 string connString = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + filePath + ";Extensions=asc,csv,tab,txt;";
这种方式导入 会出现数据丢失:
AllocationCode1,AllocationCodeValue1,AlternateLogin,AreaList,CardLoginOnly,Email,ExpirePasswordOnNextLogin,Firstname,Forced1,Group,InActiveReason,IsActive,Language,LastName,LoginExpirationDate,Password,VendorCode,Login
,,,,,,,,,,,,,liu,,1234,,upload
,,,,,,,,,,,,,22asd,,1a234,,upload2
,,egw321,All Areas,TRUE,liuz@qq.com,FALSE,asfasf,FALSE,ADMIN,,TRUE,English,520,6/27/2014,1234aa,,72072
,,ewg32,All Areas,TRUE,"sdgd@sg.com,sgdgre@dsg.com,theg@sdgerg.com;hrong0613@163.com",TRUE,235fha,FALSE,ADMIN,,TRUE,English,727,6/28/2013,1234aa,,72071
这个共有四行,但是如果有下面两行的话,第一行和第二行对应的lastName和Login在导入在DataTable的时候数据就没有了,不知道为什么。
如果使用逗号分隔,读取每一行数据,但是如果数据里面包含 逗号和引号 这个怎么处理。
有没有遇到过,谢谢!!
第一种的情况是由于后面两条数据的对应的字符是数字,他就将上面的数据清空了,这是什么逻辑啊。。。例如Login后面两条是72071,72072,他就上对应的Upload,Upload1清空了,这个怎么设置呢?
看看这个,直接以文本文件的方式操作csv中的数据:
http://duguxinglqh.blog.163.com/blog/static/1155146420101123105547729/
把你的CSV文件直接用Excel打开,看看有没有问题。