程序中需要导入CSV文件,代码如下
string strConn = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=";
strConn += ";Extensions=asc,csv,tab,txt;";
OdbcConnection objConn = new OdbcConnection(strConn);
DataSet ds = new DataSet();
string strSql = "select * from " + filepath;
OdbcDataAdapter odbcCSVDataAdapter = new OdbcDataAdapter(strSql, objConn);
odbcCSVDataAdapter.Fill(ds);
this.GridView2.DataSource = ds.Tables[0];
this.GridView2.DataBind();
CSV文件如下
订单号 | 产品代码 | 产品年份 | 数量 |
151321561 | 5738 | 2014 | 2 |
151321561 | 5524 | 2012春季 | 2 |
245454511 | 5571A | 2014 | 1 |
245454577 | 3102 | 2014 | 1 |
245454551 | 311068 | 2014 | 3 |
245454546 | 790206 | 2013 | 6 |
按照如上代码导入,发现产品代码的第三个“5571A”和年份的第二个“2012春季”无法导入,在GridView2也无法显示。感觉是数据类型的问题,但是不知道如何处理,代码如何写,请教下,谢谢!!
CSV不就是文本文件吗?自己写代码一行行读吧。
怀疑是数据格式引起的。建出问题的都不是int。看看有没有参数全部已string来读取列。
产品代码,产品年份中初始化当成数字处理,中间的为字符串,传换成数字失败就丢弃了
哥们建议用NPOI类库操作csv文件